กูเกิลเปิดตัวภาษา Go, ภาษา C++ พบ Python

tags:

แม้ว่าภายในกูเกิลนั้นจะใช้งานภาษา C++ และ Python อย่างหนักก็ตาม แต่ทั้งสองภาษาก็ยังมีข้อจำกัดอยู่บางส่วน ภาษา C++ นั้นต้องเสียเวลาในการคอมไพล์นานในการแก้ไขแต่ละครั้ง ส่วนภาษา Python นั้นมีปัญหาเรื้อรังในการรองรับมัลติคอร์ เพื่อแก้ปัญหานี้กูเกิลจึงเสนอ "ทางสายกลาง" ให้กับเราๆ ท่านๆ ด้วยภาษา Go

ภาษา Go เป็นภาษาที่ต้องการการคอมไพล์ เช่นเดียวกับภาษา C++ แต่มีข้อดีกว่าหลายประการคือ

  • คอมไพล์เร็วมาก กูเกิลโชว์ให้ดูว่าการคอมไพล์โค้ดนับแสนบรรทัดทำได้ภายใน 10 วินาที บนโน้ตบุ๊ก
  • มีระบบจัดการหน่วยความจำในตัว ไม่ต้องจัดการคืนตัวแปรเอง
  • มี type เช่นเดียวกับ C++
  • รองรับมัลติคอร์เต็มรูปแบบ สนับสนุนการใช้ Coroutine แบบเดียวกับ Erlang

ดาวน์โหลดใช้งานได้เลยตอนนี้ ที่ Go

มันเกี่ยวอะไรกับวีซ่าเปล่าหว่า

ที่มา - ArsTechnica, InformationWeek

BlackMiracle's picture

น่ายินดียิ่งนัก

spata's picture

งานนี้ พี่ท่านทำภาษาเองเลย

spata's picture

แล้วความเร็วเวลารันเท่า c++ ไหมนี่

put4558350's picture

น่าจะขึ้นอยู่กับการเขียนด้วยแหละครับ

... แต่อย่างน้อยก็น่าจะเร็วกว่า Python เพราะรองรับมัลติคอร์

^^

boonkhao's picture

สงสัยว่าวีซ่าอะไรเหรอครับ

แต่น่าสนใจดีว่าจะลองซะหน่อย

theoneox's picture

ผมก็สงสัยเหมือนกัน

อ่านๆดูมันไม่ค่อยเกี่ยวกับ Python เท่าไหร่เลย

kicub2's picture

55 มันเป็น คำโฆษณาของบัตร VISA ครับ GO

mnk2551's picture

สั่งซื้อหนังสือ python มายังไม่ได้อ่านเลย...
...ต้องหาหนังสือเล่มใหม่มาอ่านอีกแล้ว.

tue2551

b98se's picture

สักวันเราคงขาดอากู๋ไม่ได้

tomazzu's picture

เหอ ๆ ต้องลองซะแล้ว

lastone's picture

อ่านชื่อ url เว็บ

http://golang.org/ --> โกเล้ง

javaboom's picture

เมื่อไม่นานมานี้ ผมเห็นที่ทำงานพูดถึง golang แต่ผมเพิ่งทราบว่าเป็นกูเกิล กูเกิลน่าจะผลักดันได้แรงกว่า Erlang หรือเปล่า น่าสนใจครับ

lew's picture

เท่าที่ผมอ่าน document ดู

ผมว่ามันเป็นวิญญาญ Erlang เอามาสิงอยู่ใน Syntax แบบ C/C++ อ่ะครับ

javaboom's picture

Erlang เป็นภาษาที่น่าสนมากครับ แต่ผมก็แปลกใจเหมือนกันว่าทำไม developer ที่ทำงานเกี่ยวกับ HPC (ที่ผมรู้จัก) ไม่เห็นมีใครใช้ Erlang เลย ส่วนใหญ่ยังใช้ที่เป็นไลบรารีมากกว่าอย่าง TBB กับ OpenMP และที่ยังไม่ทิ้งเลยก็ MPI และก็ตอนนี้เริ่มมีให้เห็นเพิ่มทีละนิดคือ CUDA และก็ Hadoop (แต่ Hadoop เหมาะกับมัลติคอมพิวเตอร์มากกว่า)

หรือว่าในแง่ learning curve แล้ว เขาเสียเวลาเล่นไลบรารีที่วิ่งอยู่บนภาษาที่คุ้นเคยมากกว่าเล่นภาษาใหม่อย่าง Erlang ??? อย่างไรก็ดี ผมมองว่าการเขียนโปรแกรมแบบ HPC (เช่น มัลติคอร์ / มัลติเทรด / แบบขนาน) นั้น learning curve มันหนักตรงการศึกษา programming model มากกว่า เพราะ Erlang และ Golang รวมไปถึงไลบรารีที่ผมกล่าวข้างต้นต่างมี programming model สำหรับการพัฒนาโปรแกรมแบบ HPC เฉพาะตัวของมันเอง ดังนั้น developer น่าจะสนใจที่ programming model ที่ตนถนัดหรือเห็นว่ามันง่ายมากกว่า ดังนั้น ถ้า Golang มี programming model ที่เข้าใจได้ง่าย พร้อมกับภาษาที่เป็นที่คุ้นเคยอยู่แล้ว มันก็น่าสนใช่น้อย ... ผมเคยเสียเวลาเล่น Cell SDK มา คิดว่าน่าจะง่าย แต่พอเอาเข้าจริงๆเสียเวลามากกว่าเขียน MPI อีกครับ

lew's picture

ผมว่า programming model มันไม่ต่างกันมากนะครับ coroutine+channel แต่ที่ผมขัดใจ Erlang มากๆ คือ Syntax แปลกประหลาดกับ pattern matching ที่ผมไม่เห็นภาพว่าทำไมต้องทำอย่างนั้น

พยายามมาสักพัก หมดแรงไปเรียบร้อยครับ

javaboom's picture

น่าลองจริงๆครับ แต่งานเข้าตลอดเลย

chakrit's picture

+1 ... Syntax มันดูพิกลๆ ... ผมดู for loop แล้วนึกถึง Pascal ด้วยซ้ำ -*-

khajochi's picture

อ่านในเว็บแล้วสับสน จะ C ก็ไม่ C จะ python ก็ไม่ใช่ บางอย่างเขียนแบบ C บางอย่างเขียนแบบ python .. งงวุ้ย

---
Khajochi Blog : It's not a Bug ... It's a Feature

meawwat's picture

สุดยอด น่าสนใจเป็นอย่างยิ่ง

adente's picture

เอ้าแล้วสิ มี OS ของตนเอง ตอนนี้จะมีภาษาของตนเองอีก

นี้อาจเป็นนาทีทองของโอกาสแห่งการเรียนรู้สิ่งที่อาจจะเป็นนวัตกรรมในอนาคต

ruok191's picture

แล้วเมื่อไร จะมี tool ที่เป็น RAD แบบ visual studio

คงใกล้เข้ามาแล้วนะ

เวลาทำอย่า ให้ น้อยหน้า เขาละ

ให้เร็ว ก็ Take Team Boland มาเลย

mr_tawan's picture

เห็นว่าโดน MS ดูดไปก่อนหน้าแล้วไม่ใช่เหรอครับ หรือจำผิด :P


meawwat's picture

นึกขึ้นได้อย่างนึง

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

lew's picture

โครงการนั้นก็ยังอยู่ครับ

จริงๆ แล้วส่วนของ Go นี่แทบจะไม่เกี่ยวกับ Python เลย ผมอ่านๆ แล้วมันกลายเป็นการเอา Erlang มาทำให้เป็น C-Like Syntax มากกว่า

panther's picture

ถ้าแบบนั้นแสดงว่าชื่อภาษายังมาจากชื่อบริษัทเหมือนกันเลยนะครับ

ERicson LANGuage กับ GOogle LANGuage

ABZee's picture

แค่บังคับ type ก็หมดความเป็น Python ไปเยอะแล้ว

boonkhao's picture

ยัง install ไม่ได้เลยตอนนี้ ใช้ Ubuntu 8.04 ครับเลยยังไม่ได้ลอง ใครลงแล้วหรือลองแล้ว แนะนำหน่อยนะครับ

9rockky's picture

ผมนึกถึง PSP

mossila's picture

google ใช้ mac

kobkrit's picture

น่าสนใจมากๆครับ อย่างงี้ขอลองซะหน่อย

Lazy man

PH41's picture

มาดูความก้าวหน้าของพี่กู

luckyman's picture

คุ้นชื่อเยอะเลย

  • Ken Thompson
  • Rob Pike
  • Robert Griesemer
  • Russ Cox

แถม revision แรกสุดยังเป็น hello world ภาษา B

changeset:   0:f6182e5abf5e
user:        Brian Kernighan <bwk>
date:        Tue Jul 18 19:05:45 1972 -0500
summary:     hello, world

changeset:   1:b66d0bf8da3e
user:        Brian Kernighan <bwk>
date:        Sun Jan 20 01:02:03 1974 -0400
summary:     convert to C

changeset:   2:ac3363d7e788
user:        Brian Kernighan <research!bwk>
date:        Fri Apr 01 02:02:04 1988 -0500
summary:     convert to Draft-Proposed ANSI C

changeset:   3:172d32922e72
user:        Brian Kernighan <bwk@research.att.com>
date:        Fri Apr 01 02:03:04 1988 -0500
summary:     last-minute fix: convert to ANSI C

changeset:   4:4e9a5b095532
user:        Robert Griesemer <gri@golang.org>
date:        Sun Mar 02 20:47:34 2008 -0800
summary:     Go spec starting point.
lew's picture

โอ้โห ปี 72

shikima's picture

Windows ก็รอกันต่อไป


CMDEVHUB

เขียนเอามันส์ ลองเข้าไปดูความมันส์ได้ครับ