Tags:
Dart

จากข่าวเก่า กูเกิลเตรียมเปิดตัว "DART" ภาษาโปรแกรมใหม่สำหรับเว็บ วันนี้มันมาแล้วครับ

Dart (เว็บไซต์) เป็นภาษาสคริปต์สไตล์วงเล็บปีกกาที่คุ้นเคย รองรับ OOP มีแนวคิดของ class และ inheritance ส่วนการประกาศชนิดตัวแปรจะประกาศหรือไม่ก็ได้ (optional types) ช่วยให้การสร้างโค้ดขั้นต้นทำได้เร็ว แต่ก็สามารถมาจัดระเบียบตัวแปรทีหลังได้เช่นกัน

เพื่อความเข้าใจที่ดีของทุกคน ก็ดูโค้ดกันก่อน

main() {
  var name = 'World';
  print('Hello, ${name}!');
}

การแปลภาษา Dart สามารถทำได้สองแบบ คือ

  1. แปลง Dart มาเป็น JavaScript ก่อน (ตอนนี้รองรับ Chrome, Safari 5+, Firefox 4+)
  2. รันโค้ด Dart ตรงๆ บน Virtual Machine ที่ฝั่งเซิร์ฟเวอร์

กูเกิลบอกว่าในอนาคตอาจจะรวม Dart VM เข้ามาใน Chrome ด้วย

ส่วนการแทรกโค้ดภาษา Dart ลงในไฟล์ HTML ก็ทำแบบเดียวกับ JavaScript แต่เปลี่ยน MIME type เล็กน้อย (รายละเอียด Embedding DART in HTML)

<html>
  <body>
    <script type="application/dart">
      main() {
        Element element = document.getElementById('message');
        element.innerHTML = 'Hello from Dart';
      }     
    </script>
    <div id="message"></div>
  </body>
</html> 

Dart จะมีไลบรารีและเครื่องมือพัฒนาต่างๆ ให้พร้อม รายละเอียดทางเทคนิคดูจาก Technical Overview, รายละเอียดของภาษาดูจาก Dart Programming Language Specification (PDF), ตัวอย่างโค้ด

กูเกิลอธิบายว่า Dart ถูกสร้างขึ้นโดยมีเป้าหมาย 3 ประการ

  1. สร้างภาษาโปรแกรมสำหรับเว็บที่เป็นภาษาเชิงโครงสร้าง แต่ก็ยืดหยุ่นเพียงพอ (structured yet flexible language)
  2. สร้างภาษาที่นักพัฒนาคุ้นเคย ใช้ได้เป็นธรรมชาติ และเรียนรู้ได้ง่าย
  3. สร้างภาษาที่มีประสิทธิภาพสูงบนเบราว์เซอร์สมัยใหม่ทุกตัว และใช้ได้ตั้งแต่อุปกรณ์พกพาขนาดเล็กจนถึงเซิร์ฟเวอร์

สิ่งที่น่าสนใจคงเป็นคำว่า "ประสิทธิภาพสูง" ซึ่งตอนนี้กูเกิลยังไม่พูดเรื่องนี้มากนัก รออีกสักพักพอตัวภาษาและเครื่องมือเริ่มนิ่ง เราคงได้เห็นการทดสอบประสิทธิภาพของ Dart กันอีกมากมาย (หนึ่งในทีมพัฒนา Dart คือทีมที่พัฒนาเอนจิน V8 ของ Chrome มีชื่อเรื่องประสิทธิภาพอยู่แล้ว)

ตอนนี้ Dart ยังมีสถานะเป็น early preview สเปกและเครื่องมือยังไม่นิ่ง แต่คนที่สนใจก็สามารถเข้าไปดูรายละเอียดได้บนเว็บ Dart รวมถึงเสนอความเห็นไปยังกูเกิลได้ด้วย

ที่มา - Google Code

Comments

By: neizod
ContributorTraineeIn Love
neizod's blog
on 10/10/11 21:15 #343522 toggle
neizod's picture

พี่ mk ไม่แทรกเป็น syntaxhilighter ไปเลยครับ?

By: mk
FounderAndroidRed HatWindows
mk's blog
on 10/10/11 22:34 #343560 Reply to:343522 toggle
mk's picture

ลองแล้วมันไม่ขึ้นครับ เดี๋ยวไปหาวิธีก่อน


my disclaimer

By: HyBRiD
iPhoneSymbianUbuntuWindows
HyBRiD's blog
on 10/10/11 21:21 #343526 toggle
HyBRiD's picture

Go ดับไปแล้วหรอครับ

มี Go ไว้รันฝั่ง server แล้วจะมี Dart ไปทำไมอีกหว่า


hybridplex

By: anu
ContributorWindows Phone
anu's blog
on 10/10/11 21:24 #343527 Reply to:343526 toggle
anu's picture

ใช้แทน JavaScript ไงครับ ทำงานฝั่ง Browser เพราะ JavaScript มันเก่าแล้วโครงสร้างภาษากับ Engine ไม่ไปด้วยกัน ส่วน Dart ออกมาแบบพร้อมๆ กันเลย ทำให้น่าจะมีประสิทธิภาพมากกว่าเยอะ

By: HyBRiD
iPhoneSymbianUbuntuWindows
HyBRiD's blog
on 11/10/11 14:20 #343810 Reply to:343527 toggle
HyBRiD's picture

ผมดูจาก Hello world แล้ว​.... https://gist.github.com/1277224


hybridplex

By: lancaster
ContributoriPhoneAndroidWindows
lancaster's blog
on 11/10/11 16:58 #343875 Reply to:343810 toggle
lancaster's picture

แล้ว?

By: HyBRiD
iPhoneSymbianUbuntuWindows
HyBRiD's blog
on 11/10/11 22:07 #343952 Reply to:343875 toggle
HyBRiD's picture

มีคนจะเขียน Dart แล้วเอา JavaScript อื่นๆ มาใช้ด้วย

ดูเหมือนจะไม่ง่ายอย่างที่คิดแล้วครับ


hybridplex

By: HMage
Android
HMage's blog
on 12/10/11 0:14 #343995 Reply to:343952 toggle
HMage's picture

ทำไมไม่ง่ายล่ะครับ


Hello blognone.

By: lew
FounderJusci's WriterMEconomicsAndroid
lew's blog
on 12/10/11 22:51 #344460 Reply to:343526 toggle
lew's picture

Go ไว้ทำ back-end ครับ จริงๆ ตัวภาษาตั้งแต่แรกเค้าก็บอกชัดว่าไว้ทำ system programming คงไม่ได้เอาไว้ทำฝั่ง front แบบนี้


LewCPE's Google+

By: ajaxpp
ajaxpp's blog
on 10/10/11 21:38 #343533 toggle
ajaxpp's picture

ทั้ง โครมโน๊ตบุค กูเกิลบัซ กูเกิลพลัส ล้มเหลวมาแล้ว ชาวบ้านจะไป HTML5 ใครจะมีเวลามาศึกษาภาษาใหม่อีกล่ะ

By: xenogew
AndroidUbuntu
xenogew's blog
on 10/10/11 22:07 #343543 Reply to:343533 toggle
xenogew's picture

HTML5 ตัวรันฝั่ง client ส่วนที่เป็น controller ก็ยังเป็น Javascript อยู่ดีครับ และ DART ก็ออกแบบมาเพื่อแก้ปัญหาที่ Javascript ปัจจุบัน มันแก้ไม่ได้

และถ้าดู Example Code ก็จะเห็นว่า DART ก็คือ Javascript ดี ๆ นี่แหละ เพียงแต่อาจจะมีเพิ่มเติมในบางเรื่องเท่านั้นแหละครับ

และถ้ายิ่งสามารถ include พวก Javascript Library ที่เป็นที่นิยมกันอย่าง Dojo, jQuery มาใช้งานร่วมด้วยกันสะดวก ก็ยิ่งจะเปิดโอกาสให้เป็นที่นิยมได้มากนะครับ

By: Vithan
iPhoneWindows Phone
Vithan's blog
on 11/10/11 0:26 #343600 Reply to:343543 toggle
Vithan's picture

อะไรที่ javascript ทุกวันนี้ทำไม่ได้อ่ะครับ ?

By: HMage
Android
HMage's blog
on 11/10/11 13:22 #343786 Reply to:343600 toggle
HMage's picture

จากที่อ่าน spec บางส่วนแล้ว ส่วนควบคุมหน้าเว็บยังเหมือน JS ความสามารถที่มากกว่าจะเป็นส่วนของโครงสร้างภาษาครับ เช่น

  • สนับสนุน Object Oriented เต็มตัว คือสร้าง Class, Inherit ได้ ถึง JS จะถูไถไปด้วย function แทนได้แต่มันก็ไม่ครบ Destructor อันนึงละที่ไม่มี ที่ผมถูกใจก็เป็น Getter/Setter เนี่ยแหละครับ

  • สามารถ Import/Include ได้และมีเรื่องของ Namespace เพิ่มขึ้นด้วย อันนี้ JS ต้องใช้วิธี appendChild <script> เพิ่มเอา ซึ่งถือว่าจัดการลำบากมาก

  • คงมีอีกเยอะแต่ผมขี้เกียจอ่านแล้ว :P


Hello blognone.

By: krittikorn
iPhoneWindows PhoneAndroidBlackberry
krittikorn's blog
on 11/10/11 1:06 #343616 Reply to:343543 toggle
krittikorn's picture

นั่นหนะสิ อะไรที่ JS ทำไม่ได้ แล้ว dart ทำได้

JavaScript สร้างได้ กระทั้ง Linux บน Browser

ผมว่ามีเหตุผลเดียว คือ ไม่อยากใช้ ของคนอื่น จะกินรวบตามสไตล์ GG

By: ipats
ContributorWindows PhoneAndroidExteen Official
ipats's blog
on 11/10/11 1:18 #343620 Reply to:343616 toggle
ipats's picture

ผมว่ามันไม่ใช่เรื่องของทำได้ หรือทำไม่ได้หรอกครับ, แต่มันคือ efficiency & productivity มากกว่าครับ

ถามว่า โปรแกรมใหญ่ๆ อย่าง MS Office ใช้ assembly เขียนได้ไหม? ได้ครับ แล้วทำไมเค้าไม่ใช่?

ทำไมถึงมีภาษาเกิดใหม่อยู่ตลอดเวลา ภาษาการเขียนโปรแกรมมีเยอะมากครับ งานอย่างเดียวกัน ก็มีหลากหลายภาษา อย่างเช่น server-side script ก็มีตั้งแต่ perl, php, asp (vb/js/.net/etc), python, ruby และอื่นๆ อีกมากมาย ไม่ไหวจะไล่ (ไฟล์ .exe, .dll ยังมีเลยฮะ) แล้วทำไม client-side script ถึงจะแตกแขนงออกบ้างไม่ได้ ถ้ามันจะทำให้อะไรๆ ดีขึ้น


iPAtS

By: bongikairu
ContributorUbuntu
bongikairu's blog
on 11/10/11 2:00 #343634 Reply to:343616 toggle
bongikairu's picture

ผมมองว่าประเด็นที่ต้องการสื่อไม่ได้อยู่ที่ความสามารถที่ผู้ใช้มองเห็นครับ แต่เป็นความสามารถฝั่งที่โปรแกรมเมอร์ต้องการมากกว่า การที่ภาษารองรับ OOP นั้นทำให้การเขียนโปรแกรมเป็นทีมง่ายขึ้นเยอะเลยนะครับ


Gear's Edge the Blog

By: LuvStry
ContributorAndroid
LuvStry's blog
on 11/10/11 7:35 #343652 Reply to:343616 toggle
LuvStry's picture

พูดเหมือนคนใช้ C++ เวลาเพื่อนแนะนำให้ไปใช้ภาษาอื่นเลย ฮ่าๆ


Blognone = 138.1 news/w เยอะมากๆ

By: xenogew
AndroidUbuntu
xenogew's blog
on 11/10/11 9:35 #343696 Reply to:343616 toggle
xenogew's picture

งั้นมารอดูกันครับ ว่า Google Style มันสร้างความแตกต่างจากเดิมได้มากน้อยแค่ไหน

By: tuckclub
tuckclub's blog
on 11/10/11 15:56 #343853 Reply to:343616 toggle
tuckclub's picture

ลองไปอ่านเบื้องหน้า เบื้องหลัง เบื้องลึก ดูเหตุผลที่เค้าสร้างมันขึ้นมาก่อนครับ ลองดูว่าทำไมโปรเจ็กต์อย่าง GWT ถึงได้ประสบความสำเร็จมากมายนัก ทำไมเหล่า web programmer ถึงได้ตื่นเต้นกับ CoffeeScript กันมากมาย ทำไมผู้คนในโลก .Net ถึงพากันเรียกร้องให้ Microsoft สร้างเครื่องมือที่เทียบเท่า GWT เพื่อแปลง C# -> JavaScript

ไม่ใช่ว่า JavaScript มันทำอะไรๆ ไม่ได้ หรือไม่ใช่มันทำได้แบบไร้ประสิทธิภาพ เปรียบเหมือนภาษา Assembly ที่ทำได้ทุกอย่าง ในแบบที่ C/C++ หรือภาษาอื่นๆ ทำได้ แต่จะมีใครซักกี่คนกัน ที่อยากจะพัฒนาโปรแกรมใหญ่ๆ ด้วย Assembly

ทุกวันนี้ JavaScript มันเริ่มถูกมองแบบนั้นมากขึ้นเรื่อยๆ ถูกมองว่าเป็นภาษา Assembly ในโลกของ web browser ถูกใช้เป็นภาษาปลายทาง เพื่อรองรับการแปลง (compile, interpret) จากภาษาอื่นที่ "modern" กว่า

ปล. ประโยคสุดท้ายของคุณ

ผมว่ามีเหตุผลเดียว คือ ไม่อยากใช้ ของคนอื่น จะกินรวบตามสไตล์ GG

มันสะท้อนถึงประสบการณ์ ความรู้ และกระบวนการคิด ของคนพูดได้ในหลายๆ ด้าน อ่านแล้วรู้สึกว่ามันช่างทำร้ายตัวคุณเอง ได้มากมายเหลือเกิน

By: rattananen
AndroidWindows
rattananen's blog
on 11/10/11 16:11 #343862 Reply to:343853 toggle
rattananen's picture

มันสะท้อนถึงประสบการณ์ ความรู้ และกระบวนการคิด ของคนพูดได้ในหลายๆ ด้าน อ่านแล้วรู้สึกว่ามันช่างทำร้ายตัวคุณเอง ได้มากมายเหลือเกิน

มันเป็นสิทธิ์ที่จะคิดของเขาครับ ถึงเขาจะคิดผิดหรือไม่ แต่เขาไม่ได้ทำผิดครับ

ผมความคิดของคุณมันออกแนวปิดกั้นสิทธิทางความคิดของคนอื่นมากกว่านะครับ


no system is safe.

By: krittikorn
iPhoneWindows PhoneAndroidBlackberry
krittikorn's blog
on 12/10/11 9:14 #344110 Reply to:343862 toggle
krittikorn's picture

+1

เมื่อ Blognone ก้าวมาถึง จุดที่ พันทิพย์ เคยเป็นมาก่อน คือเมื่อเห็นต่าง จะมีคนออกมาด่า แทนที่จะออกมา ให้ข้อมูลแย้ง ท้ายสุด คนก้อจะหยุด post เข้าสู่ mode read only กันมากขึ้นเรื่อยๆ

By: lancaster
ContributoriPhoneAndroidWindows
lancaster's blog
on 12/10/11 21:31 #344439 Reply to:344110 toggle
lancaster's picture

ถ้าอยากรู้ทำไมไม่ถามล่ะครับ คิดว่าด่าแล้วจะมีคนมาตอบให้เหรอ (จริงๆก็มีแหละครับ แต่เค้าจะด่าคุณกลับด้วย ว่าไม่ยอมศึกษาข้อมูลมาบ้าง)

สรุปง่ายๆว่า ไม่รู้จริงอย่าฟันธง

By: narasak
iPhoneAndroidUbuntu
narasak's blog
on 01/02/12 10:50 #379063 Reply to:344439 toggle
narasak's picture

+1

By: gudgee
AndroidWindows
gudgee's blog
on 12/10/11 1:27 #344014 Reply to:343853 toggle
gudgee's picture

ลุ้นให้ทำ VM ใน Chrome ครับ ขี้เกียจ compile

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 12/10/11 9:03 #344105 Reply to:344014 toggle
PaPaSEK's picture

ก็รันบน VM อยู่แล้วนะครับ

By: krittikorn
iPhoneWindows PhoneAndroidBlackberry
krittikorn's blog
on 12/10/11 9:11 #343919 Reply to:343616 toggle
krittikorn's picture

รอดูกันต่อไป จะเหมือน RuBy, Phyphon ไหม เพระาผมก้อเห็นว่าปัจจุบัน มันก้อยังใช้ php กันอยู่

By: narasak
iPhoneAndroidUbuntu
narasak's blog
on 10/10/11 22:05 #343544 Reply to:343533 toggle
narasak's picture

กูเกิลพลัส ล้มเหลวแล้วเหรอครับ? เพิ่งออกมาได้ไม่กี่เดือนเอง และคาดการณ์กันว่ามีคนใช้กว่า 50 ล้านคนแล้ว

By: ipats
ContributorWindows PhoneAndroidExteen Official
ipats's blog
on 10/10/11 22:08 #343545 Reply to:343533 toggle
ipats's picture

ผมว่า มันคล้ายๆ LESS กับ CSS นะครับ ช่วยอำนวยความสะดวกให้ของเก่ามากขึ้น อะไรงี้


iPAtS

By: mr_tawan
ContributoriPhoneAndroidWindows
mr_tawan's blog
on 10/10/11 23:05 #343568 Reply to:343533 toggle
mr_tawan's picture

ที่ว่ามาตอนนี้มีแค่ Buzz ที่พอจะเรียกว่าล้มเหลวได้ครับ


By: ellipsis
Windows Phone
ellipsis's blog
on 10/10/11 23:06 #343569 Reply to:343533 toggle
ellipsis's picture

html ก็คือ html ครับ มันทำงานด้วยตัวมันเองไม่ได้ ถ้าทำพวกแอพ ต้องมี javascript มาคุมอีกที

By: BecauseofU
iPhoneAndroidBlackberryUbuntu
BecauseofU's blog
on 10/10/11 23:10 #343574 Reply to:343533 toggle
BecauseofU's picture

html5 ถ้าไม่มี javascript ก็ไม่ต่างอะไรจาก html ปกติซักเท่าไหร่หรอกครับ แล้ว dart ก็มีส่วนที่คล้าย javascript เยอะอยู่เหมือนกันนะครับ จะเรียกว่าศึกษาภาษาใหม่คงไม่ถูกครับ แต่ต้องบอกว่าเอาข้อดีของหลายๆภาษามารวมกันมากกว่าครับ

By: netfirms
iPhoneAndroidWindows
netfirms's blog
on 10/10/11 23:12 #343576 Reply to:343533 toggle
netfirms's picture

ถ้าสนใจก็ลองดูหน่อยไม่น่าจะเสียหลายครับ


กินตับทำให้ร่างกายแข็งแรง

By: deeplite
Android
deeplite's blog
on 10/10/11 22:30 #343552 toggle
deeplite's picture

คงไม่เดินตามรอย vbscript บน ie นะครับ ^^


If you need Drama,Follow Me...

By: HMage
Android
HMage's blog
on 10/10/11 22:32 #343554 toggle
HMage's picture

IE ก็ยังคง indy เหมือนเคย


Hello blognone.

By: leonoinoi
AndroidUbuntuWindows
leonoinoi's blog
on 10/10/11 22:37 #343562 toggle
leonoinoi's picture

เห็นรันได้ทั้งเป็น script และ jvm หวังว่าอีกสักพักพอนิ่งแล้ว คงไม่ยัดลง android แทน java แล้วเตะโด่ง java คืน oracle ไปนะครับ

By: gudgee
AndroidWindows
gudgee's blog
on 10/10/11 22:42 #343564 toggle
gudgee's picture

แทน JavaScript เต็มๆ

By: Go-Kung
Android
Go-Kung's blog
on 10/10/11 22:44 #343565 toggle
Go-Kung's picture

อ่านว่า..... ภาษา"ดาด"

/me หลบออกจากกระทู้อย่างรวดเร็ว .... แซวเฉยๆนะคร้าบ

By: proxima
iPhoneAndroid
proxima's blog
on 10/10/11 23:01 #343567 toggle
proxima's picture

ชอบหง่ะ อยากรู้จริง ๆ ว่าจะใช้ IDE เพื่อ debug ของอะไร eclipse หรือว่า จะทำ IDE บน web ไปเลย o_O

By: mr_tawan
ContributoriPhoneAndroidWindows
mr_tawan's blog
on 10/10/11 23:06 #343570 toggle
mr_tawan's picture

โค๊ดตัวอย่างหน้าตาเหมือน C (ที่มี var มาจาก VB) ...


By: neizod
ContributorTraineeIn Love
neizod's blog
on 11/10/11 1:02 #343615 Reply to:343570 toggle
neizod's picture

ถ้ามีการดึง lib ใช้ #import(lib); ด้วยนะครับ!

By: mr_tawan
ContributoriPhoneAndroidWindows
mr_tawan's blog
on 11/10/11 13:02 #343775 Reply to:343615 toggle
mr_tawan's picture

อันนั้นเหมือน java ครับ C++ ใช้ #include ...

เอ หรือว่า มันมาจาก C++0x ? (ผมจำไม่ได้)


By: HMage
Android
HMage's blog
on 11/10/11 1:46 #343631 Reply to:343570 toggle
HMage's picture

syntax เดี๋ยวนี้มัน C-style หมดแหละครับ

JS ก็มี var นะครับ ป้องกันไม่ให้มัน access ไปที่ global variable เวลาเขียนเยอะๆ แล้วลืม


Hello blognone.

By: Thaina
Windows
Thaina's blog
on 12/10/11 18:51 #344379 Reply to:343570 toggle
Thaina's picture

ผมดูยังไงก็เหมือน Java อะครับ

มี class มี interface แถมไม่มี struct ด้วย


My Blog

By: rattananen
AndroidWindows
rattananen's blog
on 13/10/11 12:09 #344638 Reply to:344379 toggle
rattananen's picture

ก็ class มันใช้แทน struct ได้ไงครับ มันเลยไม่จำเป็นต้องมี


no system is safe.

By: Thaina
Windows
Thaina's blog
on 13/10/11 13:35 #344664 Reply to:344638 toggle
Thaina's picture

ไม่ใช่ครับ class กับ struct ตอนนี้เป็น common ว่า Syntax แยกกันเพื่องานเฉพาะทางครับ

การอะไรออกมาเป็น class ในภาษาส่วนใหญ่จะจัดให้เป็น reference object ครับ

ดูตัวอย่างได้จาก C#


My Blog

By: HMage
Android
HMage's blog
on 13/10/11 14:00 #344677 Reply to:344379 toggle
HMage's picture

ผมว่าน่าจะมีของแบบ JSON อยู่ด้วยนะ ใช้แทน Struct ได้เลย


Hello blognone.

By: bongikairu
ContributorUbuntu
bongikairu's blog
on 10/10/11 23:07 #343571 toggle
bongikairu's picture

รอ dQuery ครับ 55+


Gear's Edge the Blog

By: LuvStry
ContributorAndroid
LuvStry's blog
on 11/10/11 7:32 #343651 Reply to:343571 toggle
LuvStry's picture

เงิบครับ 555+


Blognone = 138.1 news/w เยอะมากๆ

By: xenogew
AndroidUbuntu
xenogew's blog
on 11/10/11 9:32 #343694 Reply to:343571 toggle
xenogew's picture

เอิ๊ก ๆ

By: PiKO
ContributorAndroid
PiKO's blog
on 10/10/11 23:26 #343582 toggle
PiKO's picture

ถ้ามันไม่ได้ดีกว่ามากในแง่ของประสิทธิภาพเทียบกับ Javascript ผมว่า อยู่กับ Javascript + jQuery ก็ดีแล้ว


:: DigiKin8 ::

By: massacre
AndroidUbuntu
massacre's blog
on 11/10/11 3:31 #343640 toggle
massacre's picture

เขียน dark ก็เหมือนเขียน jquery หรือเปล่า import library js มา 1 ตัว ตอน run ก็เป็น javascript อยู่ดี

By: sake
sake's blog
on 11/10/11 8:50 #343673 toggle
sake's picture

ในอนาคตน่าจะเป็นทางเลือกแทนที่ php ได้ด้วยนะครับ

By: non
Symbian
non's blog
on 11/10/11 10:07 #343720 Reply to:343673 toggle
non's picture

ยังไงบ้างครับ? เท่าที่เห็นน่าจะไปทาง Javascript (Client-Side Script) นิครับ


test

By: sake
sake's blog
on 11/10/11 12:47 #343746 Reply to:343720 toggle
sake's picture

ตัว runtime เริ่มมีการเตรียมการไว้สำหรับการเข้าถึง file, socket, process เอาไว้แล้วครับ

มันคงจะมาฝั่ง server ด้วยแน่ๆ

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 11/10/11 8:54 #343674 toggle
PaPaSEK's picture

สำหรับผม ผมว่า JavaScript นี่ก็เขียนสนุกมากๆ แล้วนะครับ ยิ่งอ่านตำราที่เขียนโดย John Resig แล้วรู้สึกว่ามันสุดยอดมากๆ

สิ่งที่ผมคิดว่ามันเยี่ยมยอดใน JavaScript คือ closure นะ มันประหลาดดี เป็นภาษาที่เขียนแล้วสนุกสนานมากๆ

By: Jedt3D
iPhoneWindows PhoneAndroidUbuntu
Jedt3D's blog
on 11/10/11 9:04 #343681 toggle
Jedt3D's picture

ยังใช้ Coffee Script อยู่ รอดูไปก่อน...


-- Ruby, Sinatra, Rails, Java, ASP.NET MVC, NoSQL, Real Studio --

By: rattananen
AndroidWindows
rattananen's blog
on 11/10/11 9:49 #343707 toggle
rattananen's picture

ผมคิดว่าเป้าหมายข้อ 1-3 มันไม่มีความจำเป็นเลยนะครับ

  • จะสร้างภาษาที่เป็น structured มาทำไมอีกในเมื่อถูกอย่างบน browser มันเป็น object
  • ในข้อ 2 ผมคิดว่ามันจะลำบากกว่าเดิมน่ะสิครับ ที่ต้องเอา ภาษาที่เป็น structured มาเขียนแบบ OOP
  • สำหรับนักพัฒนา ผมว่าควรจะเรียนรู้อะไรที่เป็น standard ดีกว่าที่ต้องเสียเวลามาเรียนรู้ภาษาเพื่อ browser ตัวเดียวจาก browser ในโลกที่มีคนใช้ต่างกันเป็น 10
  • เรื่องประสิทธิภาพ ทำไมไม่เอาทรัพยากรไปปรับปรุง engine ของ JavaScript ให้มันดีขึ้น

ตัวอย่างที่ไม่ดีก็เคยมีให้เห็นแล้วอย่าง vbscript ของ IE ที่เป็น browser ที่เคยมีผู้ใช้มากมายก็ยังแป๊ก เพราะมันไม่เป็น standard

ผมมองว่าจะเอาดีด้าน web ก็ต้องดันให้เป็น standard หรือไม่ก็ต้องมีจุดเด่นที่ standard ทำไม่ได้อย่าง Flash ที่ port engine game มาลงได้


no system is safe.

By: AMp
In Love
AMp's blog
on 11/10/11 11:40 #343749 Reply to:343707 toggle
AMp's picture
  • js ก็รองรับ structured ด้วยนะครับ มันเหมือนเป็นลูกผสมของ structured/OOP ซึ่งผมมองว่า dart ก็พยายามให้เป็นแบบนั้น
  • dart รองรับการ compile เป็น js ด้วยครับ ไม่จำเป็นว่าเขียน dart แล้วจะต้องใช้กับ chrome เท่านั้น
By: rattananen
AndroidWindows
rattananen's blog
on 11/10/11 11:53 #343751 Reply to:343749 toggle
rattananen's picture

ผมต้องการจะสื่อว่าผลลัพธ์สุดท้าย ก็ออกมาเป็น JavaScript แล้วจะสร้างมาเพื่ออะไรอีก

ไปฝึกเขียน JavaScript ให้มันเชี่ยวชาญไปเลยไม่ดีกว่าเหรอ?


no system is safe.

By: neizod
ContributorTraineeIn Love
neizod's blog
on 11/10/11 12:41 #343763 Reply to:343751 toggle
neizod's picture

มันอาจเป็นเรื่องของความชอบ/ความชินที่มีต่อ javascript ครับ

ไม่งั้นจะเกิด coffeescript เหรอ?

By: rattananen
AndroidWindows
rattananen's blog
on 11/10/11 13:02 #343774 Reply to:343763 toggle
rattananen's picture

ผมมีเหตุผลอธิบายไว้แล้วครับ ยังไม่ได้เอารู้สึกของตัวเองใส่ลงไปเลย


no system is safe.

By: sake
sake's blog
on 11/10/11 12:43 #343764 Reply to:343751 toggle
sake's picture

มองข้ามช็อต... อิๆ

ผลลัพธ์สุดท้าย ก็ออกมาเป็น Assembly แล้วจะสร้างมาเพื่ออะไรอีก ไปฝึกเขียน Assembly ให้มันเชี่ยวชาญไปเลยไม่ดีกว่าเหรอ?

By: rattananen
AndroidWindows
rattananen's blog
on 11/10/11 13:10 #343782 Reply to:343764 toggle
rattananen's picture

Assembly มันเป็น low level language ครับ

จะเอามาเปรียบเทียบเหมือนให้เหมือน high level language ไม่ได้หรอกครับ ทั้งทางด้าน syntax กับงานที่ใช้


no system is safe.

By: sake
sake's blog
on 11/10/11 19:09 #343836 Reply to:343782 toggle
sake's picture

มองข้ามไปอีก shot

javascript มันเป็น scripting language ครับ จะเอามาเปรียบเทียบเหมือนให้เหมือน application programming language ไม่ได้หรอกครับ ทั้งทางด้าน syntax กับงานที่ใช้

By: mk
FounderAndroidRed HatWindows
mk's blog
on 11/10/11 13:55 #343797 Reply to:343707 toggle
mk's picture

โดยส่วนตัวผมคิดว่าประเด็นสำคัญคือเรื่องประสิทธิภาพ ซึ่งในข่าวเก่าบอกว่าจะออกแบบตัวภาษาและ VM ไปพร้อมกันให้ประสิทธิภาพมันดีขึ้นกว่า JavaScript น่ะครับ ตรงนี้ยังไม่ค่อยมีรายละเอียดออกมา ต้องรอดูไปอีกสักพักว่าทำได้จริงอย่างที่โม้หรือเปล่า?


my disclaimer

By: NightMare
NightMare's blog
on 11/10/11 10:10 #343722 toggle
NightMare's picture

เข้าไปดูคร่าวๆ โครงสร้างด้านหน้าเว็บ เหมือน Java Script โครงสร้างตัวภาษา Class Method การเรียกใช้ ยึดแบบ Java เป็นส่วนใหญ่ การอ้างถึงตัวแปรแบบ EL ของ JSP แล้วก็ผสมด้วยไวยากรณ์ที่คิดขึ้นใหม่(หรือจากภาษาอื่น)อีกเล็กน้อย


ผมเขียน Java แต่ไม่ได้เทิดทูน Java และผมไม่ได้ต่อต้าน .Net เพียงเพราะคนบอกว่า .Net มันเยี่ยม!

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 11/10/11 14:25 #343812 toggle
PaPaSEK's picture

ใครที่บ่นๆ เนี่ย ... อย่าให้รู้ว่าไปแอบใช้ DART นะครับ จะหยิกให้แขนเขียวเลย

By: rattananen
AndroidWindows
rattananen's blog
on 11/10/11 14:39 #343822 toggle
rattananen's picture

พึ่งนึกได้เมื่อกี่ว่า ปัจจัยหลักของการเลือกใช้ภาษาเพื่อใช้พัฒนาเว็บส่วนใหญ่จะไม่ใช่เรื่องประสิทธิภาพ แต่เป็นความง่ายต่อการพัฒนาต่างหาก

ถ้าอยากให้มันรุ่ง Google จะต้องตอบโจทย์ของนักพัฒนาให้ได้ ไม่ใช่ตอบโจทย์ของ End user ที่เน้นเรื่องประสิทธิภาพเป็นหลัก


no system is safe.

By: gd_ab
ContributorAndroidUbuntu
gd_ab's blog
on 11/10/11 16:31 #343866 Reply to:343822 toggle
gd_ab's picture

ผมอยากให้ตอบโจทย์เรื่อง performance ด้วยนะ ทุกวันนี้เว็บไหนที่รัน JS หนักๆ นี่อืดไปเลยอ่ะ ส่วนความง่ายในการพัฒนาคงต้องเป็นปัจจัยหลักอยู่แล้วครับ ไม่งั้น jQuery คงไม่ฮิตถล่มทลายอย่างนี้หรอกครับ


I'm a PHP Programmer..

By: bongikairu
ContributorUbuntu
bongikairu's blog
on 11/10/11 16:58 #343874 Reply to:343822 toggle
bongikairu's picture

นักพัฒนาทำงานง่าย แต่ได้โปรแกรมทำงานช้า End User ไม่ชอบก็จบนะครับ


Gear's Edge the Blog

By: Invisible Force
ContributoriPhoneAndroidUbuntu
Invisible Force's blog
on 12/10/11 10:11 #344145 toggle
Invisible Force's picture

ข่าวเค้าก็ใบ้ให้แล้วนี่ครับว่า Dart ต่อไปมันจะทำอะไรได้บ้างที่มากกว่า Javascript

By: Bank14
BlackberryUbuntuWindows
Bank14's blog
on 12/10/11 22:12 #344450 toggle
Bank14's picture

สรุปมันไม่ใช่ Server-Side Script แบบ PHP, JSP, ASP.NET

แต่มันคือภาษาที่ทำให้การเขียน JS ง่ายขึ้น และอาจมีอะไรที่เหนือกว่า JS

เราก็ยังเรียก Dart เป็น Client-Side Script ได้ไม่เต็มปากเต็มคำใช่ไหม?


+Autthapon | BLOG