banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận việc định hướng [Poll]Chọn ngôn ngữ nào để lập trình?  XML
  [Discussion]   [Poll]Chọn ngôn ngữ nào để lập trình? 30/01/2008 13:02:53 (+0700) | #1 | 112905
Reversing...
Member

[Minus]    0    [Plus]
Joined: 31/12/2007 06:28:04
Messages: 117
Location: -1.-1.-1.-1
Offline
[Profile] [PM] [Yahoo!]
Tớ làm cái poll này để nghe ý kiến và kinh nghiệm của mọi người trong việc chọn ngôn ngữ lập trình. Mỗi ngôn ngữ sẽ có một thế mạnh riêng, và thật khó để đánh giá hết được điểm mạnh và yếu của từng ngôn ngữ.
Đối với tớ:
- C# và Java hỗ trợ tốt cho lập trình mạng
- C và C++ hỗ trợ tốt cho lập trình hệ thống ( WinAPI và tìm hiểu hệ điều hành )
- Pascal( Delphi) thì lại có ích đối với học sinh thích lập trình bởi tính đơn giản và sáng sủa trong cấu trúc lệnh.

Xin mời mọi người.
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 30/01/2008 13:19:23 (+0700) | #2 | 112911
[Avatar]
meomeo_bebong
Locked

[Minus]    0    [Plus]
Joined: 27/06/2006 23:07:44
Messages: 700
Location: vô gia cư
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
Hay đấy , để tớ tiên phong nha smilie . Tớ chọn Java vì đó là ngôn ngữ cấp cao , được hỗ trợ mạnh. tài liệu phong phú . Tớ là newbie trong chuyện code nhưng tớ nghĩ chọn Java dù sao cũng học nhanh hơn Perl hay Python . Có thế thôi smilie
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 30/01/2008 13:25:39 (+0700) | #3 | 112913
[Avatar]
onlinehack
Member

[Minus]    0    [Plus]
Joined: 04/12/2007 23:07:12
Messages: 116
Location: Ma maison
Offline
[Profile] [PM]
Không biết mọi người đã đọc cái này chưa : http://www.devsource.com/c/a/Languages/10-Programming-Languages-You-Should-Learn-Right-Now/

meomeo_bebong wrote:
Hay đấy , để tớ tiên phong nha smilie . Tớ chọn Java vì đó là ngôn ngữ cấp cao , được hỗ trợ mạnh. tài liệu phong phú . Tớ là newbie trong chuyện code nhưng tớ nghĩ chọn Java dù sao cũng học nhanh hơn Perl hay Python . Có thế thôi smilie 


Sai em ạ .
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 30/01/2008 17:43:17 (+0700) | #4 | 112930
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

meomeo_bebong wrote:
Hay đấy , để tớ tiên phong nha smilie . Tớ chọn Java vì đó là ngôn ngữ cấp cao , được hỗ trợ mạnh. tài liệu phong phú . Tớ là newbie trong chuyện code nhưng tớ nghĩ chọn Java dù sao cũng học nhanh hơn Perl hay Python . Có thế thôi smilie 


Có lẽ bồ nói lộn... ngược lại rồi. Perl và Python học dễ và nhanh hơn Java.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 30/01/2008 22:26:12 (+0700) | #5 | 112951
[Avatar]
meomeo_bebong
Locked

[Minus]    0    [Plus]
Joined: 27/06/2006 23:07:44
Messages: 700
Location: vô gia cư
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
Thôi , thế thì cháu phải làm lại từ đầu rồi . Cám ơn chú conmale
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 30/01/2008 22:53:30 (+0700) | #6 | 112954
nbthanh
HVA Friend

Joined: 21/12/2001 14:51:51
Messages: 429
Offline
[Profile] [PM]

conmale wrote:

meomeo_bebong wrote:
Hay đấy , để tớ tiên phong nha smilie . Tớ chọn Java vì đó là ngôn ngữ cấp cao , được hỗ trợ mạnh. tài liệu phong phú . Tớ là newbie trong chuyện code nhưng tớ nghĩ chọn Java dù sao cũng học nhanh hơn Perl hay Python . Có thế thôi smilie 


Có lẽ bồ nói lộn... ngược lại rồi. Perl và Python học dễ và nhanh hơn Java. 

Chắc là cũng tuỳ à. Dân dev chính thống thì có khi thấy Java dễ hơn. Dân System Admin thì thấy scripting language dễ hơn smilie
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 30/01/2008 23:03:22 (+0700) | #7 | 112956
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

nbthanh wrote:

conmale wrote:

meomeo_bebong wrote:
Hay đấy , để tớ tiên phong nha smilie . Tớ chọn Java vì đó là ngôn ngữ cấp cao , được hỗ trợ mạnh. tài liệu phong phú . Tớ là newbie trong chuyện code nhưng tớ nghĩ chọn Java dù sao cũng học nhanh hơn Perl hay Python . Có thế thôi smilie 


Có lẽ bồ nói lộn... ngược lại rồi. Perl và Python học dễ và nhanh hơn Java. 

Chắc là cũng tuỳ à. Dân dev chính thống thì có khi thấy Java dễ hơn. Dân System Admin thì thấy scripting language dễ hơn smilie 


Cũng còn tùy viết là viết cỡ nào, viết là viết cái gì nữa em smilie.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 30/01/2008 23:11:13 (+0700) | #8 | 112960
[Avatar]
mantoman
Member

[Minus]    0    [Plus]
Joined: 15/04/2007 20:04:37
Messages: 2
Location: đáy giếng
Offline
[Profile] [PM]
tớ thì chẳng biết gì, chỉ muốn biết làm thế nào để hiều và biết cách lập trình cơ bản nhất
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 30/01/2008 23:21:50 (+0700) | #9 | 112964
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

mantoman wrote:
tớ thì chẳng biết gì, chỉ muốn biết làm thế nào để hiều và biết cách lập trình cơ bản nhất 


Thì tìm một cuốn sách dạy lập trình cơ bản nhất hoặc ghi danh vào học một lớp lập trình cơ bản nhất.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 01/02/2008 04:10:40 (+0700) | #10 | 113185
[Avatar]
ngoalong
HVA Friend

Joined: 22/03/2003 04:33:38
Messages: 111
Offline
[Profile] [PM]
Mình thì thấy C/C++ dễ hơn JAVA hay Perl/Python smilie
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 01/02/2008 05:24:05 (+0700) | #11 | 113194
cvhainb
Member

[Minus]    0    [Plus]
Joined: 04/01/2007 14:32:38
Messages: 251
Offline
[Profile] [PM]
C/C++/C# smilie.
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 01/02/2008 05:38:24 (+0700) | #12 | 113198
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

ngoalong wrote:
Mình thì thấy C/C++ dễ hơn JAVA hay Perl/Python smilie 


Hì hì, em đã rành và thấy C/C++ dễ thì nhảy sang Java cực kỳ dễ dàng. Hồi trước anh học C rồi nhảy thẳng qua Java nên gần.... trào máu (vì khái niệm OO) smilie. Sau này khi đã thông được cái OO thì quay ngược lại thấy C++ rõ ràng (nhưng không dễ dàng như Java). Cái khó của C/C++ là phần memory management. Phần này Java dễ nuốt hơn.

Riêng với Perl thì lại dễ ăn cho những ai quen procedural programming. Còn Python thì làm quen với nó rồi, nhảy qua C++ hay Java rất êm.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 01/02/2008 05:51:24 (+0700) | #13 | 113202
[Avatar]
Z0rr0
Q+WRtaW5pc3RyYXRvc+g

Joined: 14/08/2002 12:52:01
Messages: 1323
Location: Underground
Offline
[Profile] [PM] [WWW] [Yahoo!]
Với C/C++ để quản lý tốt mấy cái pointer cũng trầy trật. Cái ngon nổi bật khác của Java là dựa trên những technologies của máy ảo java (JVM), như security, gabarge collection... cái mà C/C++ vẫn phụ thuộc vào OS.
Hibernating
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 02/02/2008 02:09:39 (+0700) | #14 | 113273
toantoet
Member

[Minus]    0    [Plus]
Joined: 03/02/2004 07:41:54
Messages: 31
Offline
[Profile] [PM]
Python dễ học, học java thì được học nhiều về công nghệ hơn
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 03/02/2008 13:57:07 (+0700) | #15 | 113403
seamoun
Advisor

Joined: 04/01/2002 14:05:10
Messages: 357
Offline
[Profile] [PM]
Chọn ngôn ngữ nào để lập trình? 

Chọn ngôn ngữ ở đây là điểm mạnh của ngôn ngữ hay là một vấn đề nào liên quan đến ngôn ngữ ?.
Nếu như chọn ngôn ngữ thì theo em không có ngôn ngữ nào là mạnh nhất, mà quan trọng là người sử dụng thành thạo ngôn ngữ đó để diễn đạt ý tưởng của mình, cái đó mới quan trọng. Còn ngôn ngữ chỉ là công cụ diễn đạt mà thôi, kinh nghiệm sử dụng ngôn ngữ giúp mình rút ngắn thời gian diễn đạt ý tưởng thành ngôn ngữ máy tính, ...
--vickigroup.com--
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 08/02/2008 13:07:46 (+0700) | #16 | 113900
[Avatar]
woodyboy
Member

[Minus]    0    [Plus]
Joined: 13/05/2007 15:55:01
Messages: 18
Offline
[Profile] [PM]
Hu hu. cháu xin tóm tắt quá trình học cua cháu như sau: pascal-->C/C++-->java(now).cháu học từ pascal lên C/C++ thì OK nhưng nâng cấp lên java thì đang chết dở với cái kiêu OO smilie .Nản quá. smilie
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 09/02/2008 07:15:58 (+0700) | #17 | 113952
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]
Theo ý kiến của tớ thì mở đầu với Pascal để học phương pháp tư duy giải thuật.
Sau khi nắm được pp tư duy giải thuật thì tiến qua C ( không phải C++) để nắm cấu trúc của ngôn ngữ này, vì nó được dùng làm ý tưởng phát sinh cấu trúc từ khóa của rất nhiều ngôn ngữ.
Bước tiếp theo là C++ do nó chứa đựng tư duy cơ bản về hướng đối tượng nắm được cái này là nắm được hướng lập trình hiện đại ( hướng đối tượng ).
Bước cuối là kiếm ngôn ngữ bạn khoái mà học, vì lúc này những cái cần thiết cốt tử cho lập trình bạn đã có đủ rồi. Cái bạn cần học là cấu trúc ngôn ngữ, các từ khóa, các hàm và các công cụ mà ngôn ngữ bạn thích có sẵn.

Kinh nghiệm bản thân mình là thế.
iJust clear, "What I need to do and how to do it"/i
br
brBox tán gẫu dời về: http://www.facebook.com/hvaonline
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 09/02/2008 07:42:48 (+0700) | #18 | 113954
[Avatar]
tmd
Member

[Minus]    0    [Plus]
Joined: 28/06/2006 03:39:48
Messages: 2951
Offline
[Profile] [PM]
Hướng học từ Pascal -> C -> C++ -> ngôn ngữ khác, là một hướng đào tạo chính quy đó. Học từ đầu, nên đi theo hướng học này. Tuy nhiên bà con đừng học theo kiểu áp đặt, đừng ép bản thân học gò bó thiếu sáng tạo.
3 giai đoạn của con... người, ban đầu dek biết gì thì phải thăm dò, sau đó biết rồi thì phải thân thiết, sau cùng khi quá thân thiết rồi thì phải tình thương mến thương. Nhưng mà không thương được thì ...
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 09/02/2008 13:50:25 (+0700) | #19 | 114002
[Avatar]
instcode
Member

[Minus]    0    [Plus]
Joined: 09/09/2004 21:42:44
Messages: 13
Offline
[Profile] [PM]

seamoun wrote:
Chọn ngôn ngữ nào để lập trình? 

Chọn ngôn ngữ ở đây là điểm mạnh của ngôn ngữ hay là một vấn đề nào liên quan đến ngôn ngữ ?.
Nếu như chọn ngôn ngữ thì theo em không có ngôn ngữ nào là mạnh nhất, mà quan trọng là người sử dụng thành thạo ngôn ngữ đó để diễn đạt ý tưởng của mình, cái đó mới quan trọng. Còn ngôn ngữ chỉ là công cụ diễn đạt mà thôi, kinh nghiệm sử dụng ngôn ngữ giúp mình rút ngắn thời gian diễn đạt ý tưởng thành ngôn ngữ máy tính, ...  

Bạn nói sai thè lè rồi smilie... Bây giờ bạn chọn PHP rồi đi viết ứng dụng chạy trên desktop smilie
Hông dám nói dài và ba phải như bạn seamoun, hướng của instcode đang là: Pascal -> C/C++ -> Java smilie
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 09/02/2008 14:27:10 (+0700) | #20 | 114009
[Avatar]
lion_king_lovely_1985
Member

[Minus]    0    [Plus]
Joined: 05/09/2006 20:13:20
Messages: 156
Location: HTTP://HTVSITE.COM
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]
Tổng kết lại việc chọn ngôn ngữ như sau:

1: Nếu để học: Cứ lựa chọn tạm theo thứ tự phổ thông:
Pascal -> VB và C -> C++ -> Java

2: Nếu để lập trình:
Lựa chọn dựa theo tiêu chí:

+ Mục đích lập trình
+ Độ phức tạp của thuật toán
+ Thời gian thực hiện
+ Cần tính Pro cao, hay chỉ đơn thuần là "có sản phầm là được"
+ Quy mô của việc triển khai
+ Yêu cầu sử dụng...

Nói chung, tất cả chỉ là tương đối...!!!

Nhưng khi xác định xong những điều như vậy, hoặc tương tự như vậy. Tự bạn sẽ tìm được cho mình 1 chương trình hợp lý để thỏa mãn với các tiêu chí mình đặt ra: Nhanh hay chậm, đơn giản hay phức tạp, chuyên nghiệp hay ko cần chuyên nghiệp, lớn hay nhỏ...

Có lẽ, nếu chỉ cần để viết 1 soft giả lập 1 cái calculor ja`nh cho việc giải phương trình giúp con, em học tập thì bạn sẽ lựa chọn VB thay cho việc dùng Java rườm rà ( Trừ khi bạn muốn tìm hiểu, thử nghiệm, và nghiên cứu ).

Còn để viết 1 chương trình mang tính chất sever - client, có khả năng làm việc cao, hoạt động ổn định, an toàn và đồ sộ. Lúc đó bạn lại thích lựa chọn cho mình Java...
Tất cả chỉ là tương đối: Và nó dựa vào 2 yếu tố chính:
Mục đích của bạn + Khả năng của bạn!!!

Thân LKL!!!
HỌC THIẾT KẾ WEBSITE | HỌC LẬP TRÌNH WEBSITE | HỌC QUẢN TRỊ WEBSITE | HỌC LẬP TRÌNH PHP & MySQL
HTTP://HTVSITE.COM
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 09/02/2008 14:42:25 (+0700) | #21 | 114014
Reversing...
Member

[Minus]    0    [Plus]
Joined: 31/12/2007 06:28:04
Messages: 117
Location: -1.-1.-1.-1
Offline
[Profile] [PM] [Yahoo!]
Tớ chưa học VB bao giờ, nhưng hình như VB không được đưa vào chương trình đại học của một số nước trên thế giới, thế thì tại sao phải học chuyên sâu về nó nhỉ?
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 09/02/2008 15:09:38 (+0700) | #22 | 114017
[Avatar]
lion_king_lovely_1985
Member

[Minus]    0    [Plus]
Joined: 05/09/2006 20:13:20
Messages: 156
Location: HTTP://HTVSITE.COM
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]
@Reversing... Ở nước ngoài người là hay dùng Study hơn là Lean thông thừong như nước mình Reversing... ah!!!

Là vì bạn so sánh nước ngoài với nước mình, nên tớ mới nói câu đó!

Hi vọng là bạn hiểu ý tớ!!!

Thân LKL!!!
HỌC THIẾT KẾ WEBSITE | HỌC LẬP TRÌNH WEBSITE | HỌC QUẢN TRỊ WEBSITE | HỌC LẬP TRÌNH PHP & MySQL
HTTP://HTVSITE.COM
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 11/02/2008 01:24:27 (+0700) | #23 | 114142
[Avatar]
HackerW-hat
Member

[Minus]    0    [Plus]
Joined: 19/06/2007 13:32:11
Messages: 4
Location: sacredland
Offline
[Profile] [PM]
Em là ng` mới bắt đầu.Sau khi đọc các comment trên thì em thấy có 3 hướng để học:
+hướng của anh conmale: Python -> C -> C++ -> Java
+hướng của anh lion_king_lovely_1985: Pascal -> VB.NET và C -> C++ -> Java
+hướng của anh tmd: Pascal -> C -> C++ -> ngôn ngữ khác
Cho em hỏi học theo hướng nào thì hiệu wả hơn và học ở đâu thì tốt hơn ạ?Em ở TPHCM định học ở NIIT.
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 11/02/2008 05:35:35 (+0700) | #24 | 114192
[Avatar]
HackerW-hat
Member

[Minus]    0    [Plus]
Joined: 19/06/2007 13:32:11
Messages: 4
Location: sacredland
Offline
[Profile] [PM]
Em còn thắc mắc 1 điều nữa là khi em đọc ebook sổ tay lập trình 2.0 của anh mystery_kid1412
ở fần python thì em đọc đc 1 đoạn code như sau:
Code:
import math
#...
delta = b * b – 4 * a * c
if delta > 0:
    # Khối lệnh mới, thụt vào đầu dòng
    x1 = (- b + math.sqrt(delta)) / (2 * a)
    x2 = (- b – math.sqrt(delta)) / (2 * a)
    print "Phuong trinh co hai nghiem phan biet:"
    print "x1 = ", x1, "; ", "x2 = ", x2

Theo như em hiểu thì đoạn code trên tương ứng 1 bài toán phương trình bậc 2(may phước là em đang học lớp 9 nên biết đc điều đó).Vậy em thắc mắc là muốn học lập trình thì cần kiến thức phổ thông tổi thiểu là lớp mấy?Liệu lớp 9 như em có thể học đc ko?Và để học lập trình cần có những kiến thức gì?vì trong ebook em thấy có ghi những từ mà em chưa từng nghe wa như shell,mảng,giải pháp tên động,kết nối tên biến,phương thức...điển hình như đoạn này:
8. Đa năng:

Python là một ngôn ngữ lập trình đơn giản nhưng rất hiệu quả. So với Unix shell, Python hỗ trợ các chương trình lớn hơn và cung cấp nhiều cấu trúc hơn. So với C, Python cung cấp nhiều cơ chế kiểm tra lỗi hơn. Vì các lí do đó, Python là một ngôn ngữ lập trình cấp rất cao. Nó cũng có sẵn nhiều kiểu dữ liệu cấp cao, ví dụ như các mảng linh hoạt (flexible arrays) ( ) và từ điển (dictionaries) mà ta phải mất nhiều thời gian để hiện thực trên C. Python cũng thích hợp với các chương trình lớn hơn cả Awk và Perl. Python cũng được sử dụng để lập trình Web. Nó có thể được sử dụng như là một ngôn ngữ kịch bản. Python được thiết kế để có thể nhúng và phục vụ như là một ngôn ngữ kịch bản để tuỳ biến và mở rộng các ứng dụng lớn hơn. Được tích hợp sẵn nhiều công cụ và có một thư viện chuẩn phong phú, Python cho phép người dùng dễ dàng tạo ra các dịch vụ Web, sử dụng các thành phần COM hay CORBA ( ). Nó hỗ trợ các định dạng email, dữ liệu Internet, HTML, XML và các ngôn ngữ đánh dấu khác. Python cũng ứng dụng tất cả các giao thức Internet thông dụng như HTTP, FTP,… Python cung cấp giao tiếp đến hầu hết cơ sở dữ liệu, có khả năng xử lí văn bản, tài liệu hiệu quả, và có thể làm việc tốt với các công nghệ Web khác. Python cũng đặc biệt hiệu quả cho lập trình tính toán khoa học qua các công cụ Python Imaging Library, VTK, MayaVi 3D Visualization Toolkits, Numeric Python, ScientificPython,… Python cũng có thể được sử dụng để phát triển các ứng dụng Desktop. Người dùng có thể dùng wxPython, PyQt, PyGtk để phát triển các ứng dụng giao diện đồ họa (GUI) chất lượng cao. Python có thể hỗ trợ các GUI frameworks khác như MFC, Carbon, Delphi, X11, Motif, và Tk. Python cũng có sẵn một unit testing framework để tạo ra các các bộ test (test suites).
 

Đọc xong em ứ hiểu gì cả,chỉ hiểu được câu đầu là: Python là một ngôn ngữ lập trình đơn giản nhưng rất hiệu quả.

[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 11/02/2008 10:57:26 (+0700) | #25 | 114213
[Avatar]
computerline
Member

[Minus]    0    [Plus]
Joined: 30/03/2007 13:46:50
Messages: 144
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]

HackerW-hat wrote:
Em còn thắc mắc 1 điều nữa là khi em đọc ebook sổ tay lập trình 2.0 của anh mystery_kid1412
ở fần python thì em đọc đc 1 đoạn code như sau:
Code:
import math
#...
delta = b * b – 4 * a * c
if delta > 0:
    # Khối lệnh mới, thụt vào đầu dòng
    x1 = (- b + math.sqrt(delta)) / (2 * a)
    x2 = (- b – math.sqrt(delta)) / (2 * a)
    print "Phuong trinh co hai nghiem phan biet:"
    print "x1 = ", x1, "; ", "x2 = ", x2

Theo như em hiểu thì đoạn code trên tương ứng 1 bài toán phương trình bậc 2(may phước là em đang học lớp 9 nên biết đc điều đó).Vậy em thắc mắc là muốn học lập trình thì cần kiến thức phổ thông tổi thiểu là lớp mấy?Liệu lớp 9 như em có thể học đc ko?Và để học lập trình cần có những kiến thức gì?vì trong ebook em thấy có ghi những từ mà em chưa từng nghe wa như shell,mảng,giải pháp tên động,kết nối tên biến,phương thức...điển hình như đoạn này:
 

Để học lập trình thì yêu cầu trước hết là em phải có sự đam mê, và có chí ham học hỏi. Điều thứ hai là phải có kiến thức về toán học, nghệ thuật, âm nhạc, nói chung là bạn phải có một chút đam mê về nghệ thuật nữa ...
Em đang học lớp 9 thì học lập trình cung duoc, nhung buoc dau em nen tim hieu ve ngon ngu nao that su don gian, va nen doc hieu ve giai thuat, cung nhung logic.
Để hiểu được những từ ngữ chuyên ngành như trên thì có nhiều cách, em có thể dùng từ điển chuyên ngành, hoặc là tìm tài liệu đọc, có rất nhiều.
Không có nghề gì trong xã hội là thấp hèn cả - chỉ có nhân cách mới phân biệt thấp cao
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 11/02/2008 11:03:56 (+0700) | #26 | 114215
[Avatar]
havythoai
HVA Friend

Joined: 05/04/2004 22:59:39
Messages: 562
Offline
[Profile] [PM] [WWW]
Python nó na ná Matlab nhỉ (Matlab là 1 ngôn ngữ tình toán dùng trong kỹ thuật), rất thân thiện.

[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 11/02/2008 12:16:11 (+0700) | #27 | 114220
StarGhost
Elite Member

[Minus]    0    [Plus]
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
[Profile] [PM]

HackerW-hat wrote:
...vì trong ebook em thấy có ghi những từ mà em chưa từng nghe wa như shell,mảng,giải pháp tên động,kết nối tên biến,phương thức...điển hình như đoạn này:
8. Đa năng:

Python là một ngôn ngữ lập trình đơn giản nhưng rất hiệu quả. So với Unix shell, Python hỗ trợ các chương trình lớn hơn và cung cấp nhiều cấu trúc hơn. So với C, Python cung cấp nhiều cơ chế kiểm tra lỗi hơn. Vì các lí do đó, Python là một ngôn ngữ lập trình cấp rất cao. Nó cũng có sẵn nhiều kiểu dữ liệu cấp cao, ví dụ như các mảng linh hoạt (flexible arrays) ( ) và từ điển (dictionaries) mà ta phải mất nhiều thời gian để hiện thực trên C. Python cũng thích hợp với các chương trình lớn hơn cả Awk và Perl. Python cũng được sử dụng để lập trình Web. Nó có thể được sử dụng như là một ngôn ngữ kịch bản. Python được thiết kế để có thể nhúng và phục vụ như là một ngôn ngữ kịch bản để tuỳ biến và mở rộng các ứng dụng lớn hơn. Được tích hợp sẵn nhiều công cụ và có một thư viện chuẩn phong phú, Python cho phép người dùng dễ dàng tạo ra các dịch vụ Web, sử dụng các thành phần COM hay CORBA ( ). Nó hỗ trợ các định dạng email, dữ liệu Internet, HTML, XML và các ngôn ngữ đánh dấu khác. Python cũng ứng dụng tất cả các giao thức Internet thông dụng như HTTP, FTP,… Python cung cấp giao tiếp đến hầu hết cơ sở dữ liệu, có khả năng xử lí văn bản, tài liệu hiệu quả, và có thể làm việc tốt với các công nghệ Web khác. Python cũng đặc biệt hiệu quả cho lập trình tính toán khoa học qua các công cụ Python Imaging Library, VTK, MayaVi 3D Visualization Toolkits, Numeric Python, ScientificPython,… Python cũng có thể được sử dụng để phát triển các ứng dụng Desktop. Người dùng có thể dùng wxPython, PyQt, PyGtk để phát triển các ứng dụng giao diện đồ họa (GUI) chất lượng cao. Python có thể hỗ trợ các GUI frameworks khác như MFC, Carbon, Delphi, X11, Motif, và Tk. Python cũng có sẵn một unit testing framework để tạo ra các các bộ test (test suites).
 

Đọc xong em ứ hiểu gì cả,chỉ hiểu được câu đầu là: Python là một ngôn ngữ lập trình đơn giản nhưng rất hiệu quả.

 


Cái đoạn này hình như là giới thiệu thì phải. Thường thì khi giới thiệu về 1 cái gì đó người ta thường tìm cách gây ấn tượng bằng cách tung hỏa mù dày đặc, sau đó mới dẫn đường, thế nên không có gì phải lo cả. Em cứ học từ từ rồi sẽ thấy rõ hết.

Nhưng bản thân anh thì vẫn muốn bắt đầu bằng C (hoặc Pascal, nhưng chỉ tốn thêm thời gian thôi) hơn, vì cấu trúc lập trình cơ bản của nó cũng dễ hiểu như bất cứ ngôn ngữ nào khác, và em có lợi thế khi học sâu hơn về nó với những thứ như pointer, library, v.v...
Cái đoạn code trên của em khi viết lại trên C thì cũng gần giống hoàn toàn, và không thể đơn giản hơn.

Còn về mặt kiến thức phổ thông, cái này không liên quan gì đến lập trình cả. Lập trình chỉ là một công cụ, em dùng công cụ đó để tự động hóa các giải pháp mà em tìm được cho các vấn đề của em, và chỉ khi bắt đầu tiến hành lập trình cái giải pháp đó, em mới cần đến kiến thức phổ thông mà cái giải pháp đó đòi hỏi, ví dụ như viết một chương trình để tìm nghiệm cho phương trình bậc 2 chẳng hạn.

Thân.
Mind your thought.
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 11/02/2008 14:17:53 (+0700) | #28 | 114228
[Avatar]
lion_king_lovely_1985
Member

[Minus]    0    [Plus]
Joined: 05/09/2006 20:13:20
Messages: 156
Location: HTTP://HTVSITE.COM
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]

HackerW-hat wrote:
Em là ng` mới bắt đầu.Sau khi đọc các comment trên thì em thấy có 3 hướng để học:
+hướng của anh conmale: Python -> C -> C++ -> Java
+hướng của anh lion_king_lovely_1985: Pascal -> VB.NET và C -> C++ -> Java
+hướng của anh tmd: Pascal -> C -> C++ -> ngôn ngữ khác
Cho em hỏi học theo hướng nào thì hiệu wả hơn và học ở đâu thì tốt hơn ạ?Em ở TPHCM định học ở NIIT. 


Nhìn thì là 3 cách, chứ thực ra vẫn chỉ là 2 thôi em ah!

Nếu em mới bắt đầu từ đầu thì anh nghĩ Python ko thích hợp bằng Pascal. Vì pascal nó là ngôn ngữ phổ thông.

Nay đã được đưa vào thành 1 bộ môn thuộc học phần Tin Học của các trường cấp 3.

Cũng là môn học bắt buộc ở một số trường ĐH, cao đẳng ( Ko thuộc chuyên ngành tin )

Với pascal có vẻ như mọi thứ giống như việc người ta bắt đầu cách học bảng chữ cái!

Đó là riêng suy nghĩ của anh!

Và cũng cần tham khảo thêm suy nghĩ của mọi người!!!

Thân LKL!!!
HỌC THIẾT KẾ WEBSITE | HỌC LẬP TRÌNH WEBSITE | HỌC QUẢN TRỊ WEBSITE | HỌC LẬP TRÌNH PHP & MySQL
HTTP://HTVSITE.COM
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 20/02/2008 06:00:12 (+0700) | #29 | 115564
[Avatar]
doqkhanh
Member

[Minus]    0    [Plus]
Joined: 30/10/2007 14:51:27
Messages: 18
Location: EOF
Offline
[Profile] [PM]
Tớ:
C --> 2002
C++ --> 2004
VB 6.0, C++ và C# --> 2007
giờ đang chổng mông lên code C smilie --> 2008

Tùy theo bạn viết cái gì, trên môi trường nào, còn lại theo tớ thì không có gì là dễ cả, bản thân tớ cũng không thấy Pascal trong sáng, thấy C trong sáng hơn!

Tớ không biết Java.
[Up] [Print Copy]
  [Question]   Re: [Poll]Chọn ngôn ngữ nào để lập trình? 24/02/2008 00:44:41 (+0700) | #30 | 116297
cowboy11988
Member

[Minus]    0    [Plus]
Joined: 18/04/2007 21:40:08
Messages: 3
Offline
[Profile] [PM]
Hix, ngó wa ngó lại chĩ thây các anh các chú các ku tranh cãi Language nào là best nhất mà ko thấy ai nói rõ từng điễm mạnh cũa từng language.
Em đây cũng chỉ là gà Java, C# và Assembly, nhưng được cái em cũng khá rõ ^^ về các khuyết điễm và ưu điểm của các language. Và 1 khi đã bít được nhửng tính chất mà Languages mang lại cho ta thì mới thấy được programming hay đến thế nào.
Hix nhưg đó chỉ là ý kiến của em, sau đây em muôn jo'i thiu đến các pác 1 wuyen sách của Pepter Norwig, các pác đọc thì có lẽ sẽ tìm được nữa còn lại cũa mình (Trong thế jo'i I.T thui *_*)




Học lập trình trong 21 ngày.


Saturday, 22. September 2007, 07:33:31
trong phong trào các anh zai thi nhau học lập trình, cảm nhận từ những gì mà các thành viên Vb Club( /moi hội trưởng ) làm trong thời gian qua( và các lỗi mắc phải, tất nhiên, không thể không dính ) và cả cảm nhận cá nhân về trình độ siêu gà của tớ, thiết tưởng cũng nên bàn đôi điều về học lập trình, dù rằng nó..hơi nhàm. Thay vì bàn, xin đưa ra 1 bài báo:


Tự học lập trình trong 10 năm

Đây là quan điểm của Peter Norvig về các loại sách “ăn xổi” bày bán ngoài thị trường hiện nay với những cái “tít” nghe rất ư là hứng khởi: “Tự học Java trong 7 ngày” hay “Học Visual C++.NET trong 24 giờ”,v.v…Tất nhiên, mỗi người đều có động cơ và mục đích riêng khi học lập trình. Nhưng Peter cho rằng để trở thành một “expert programmer”, bạn cần ít nhất 10 năm, và việc trông chờ vào những cuốn sách kiểu như trên để “thay da đổi thịt” là điều không tưởng. Nhân tiện đây em xin giới thiệu đôi chút về quí ngài Peter Norvig, kẻo dân Việt Nam ta vốn có thói quen chỉ nghe lời người nổi tiếng, tưởng bác này vô danh lại xì mũi cười khẩy mà cho rằng người ta đang loạn ngôn…

Theo từ điển bách khoa Wikipedia ( http://en.wikipedia.org/wiki/Peter_Norvig ) thì Peter Norvig hiện đang giữ chức giám đốc trung tâm nghiên cứu của Google Inc., (Director of Research, formly Director of Search Quality) với nhiệm vụ cao cả là sắp xếp và tổ chức lại thế giới thông tin cho người dùng dễ dàng truy cập, khai thác (đúng với slogan của Google). Ông đồng thời là ủy viên ban điều hành của Hiệp hội Trí tuệ nhân tạo Hoa Kì (American Association for Artificial Intelligence). Cùng với Stuart Russell, Peter Norvig là đồng tác giả của cuốn sách: “Artificial Intelligence – A Modern Approach” nổi tiếng, được giảng dạy tại 940 trường đại học thuộc hơn 90 quốc gia trên toàn thế giới. Cuốn sách là giáo trình chuẩn của rất nhiều University lừng danh như: MIT (Massachussetts Institute of Technology), University of California at Berkeley, Princeton University, Standford University, Oxford University, Yale University, v.v…Trước đó, ông giữ chức giám đốc điều hành trung tâm khoa học tính toán (Computational Science Division) của NASA tại Ames (NASA Ames Research Center), có nhiệm vụ giám sát hoạt động của hơn 200 nhà khoa học. Ngoài ra, ông còn đảm nhận chức vụ giáo sư tại đại học Nam California, thành viên hội đồng nghiên cứu khoa học của University of California at Berkeley, cũng như là một trong những nhà khoa học lão làng tại Sun Microsystems Laboratories…

Thôi, nói thế là đủ biết cái tầm của người ta rồi. Và ý kiến dưới đây của Peter Norvig cũng đáng để mọi người cùng nhau thưởng thức và suy ngẫm. Nào, hãy bắt đầu…

Tại sao bây giờ người ta lại vội vàng đến như vậy?

Rảo bước quanh các cửa hàng sách, bạn sẽ thấy cái tựa: “Hướng dẫn lập trình Java trong 7 ngày” nằm bên cạnh một dãy dài vô tận những lời “đề nghị dạy học” đại loại như vậy về Visual Basic, Windows hay Internet… chỉ cần vài ngày hay vài giờ ngắn ngủi. Tôi đã thử thực hiện một động tác tìm kiếm (power search) tại Amazon.com:

pubdate: after 1992 and title: days and

(title: learn or title: teach yourself)

và nhận được 248 kết quả. 78 hits đầu tiên là sách về máy tính (cuốn thứ 79 là Learn Bengali in 30 days). Thử thay “days” bằng "hours", những gì thu được cũng hoàn toàn tương tự: 253 kết quả, với 77 hits đầu tiên về máy tính (cuốn thứ 78 là Teach Yourself Grammar and Style in 24 Hours). Khi vượt ra ngoài top 200, tất cả các cuốn sách đều là computer books. (Thời điểm Norvig “thí nghiệm” có lẽ đã cách đây một thời gian, bây giờ những con số ấy tăng lên một cách chóng mặt).

Từ đây có thể rút ra kết luận: “Hoặc là bây giờ người ta đổ xô đi tìm hiểu về máy tính, hoặc máy tính không hiểu vì một lí do hoang đường nào đó lại trở nên dễ học hơn những thứ khác”. Chẳng có quyển sách nào hướng dẫn học Beethoven, Vật lý Lượng tử hay thậm chí là “chăm sóc cho chó” (Dog Grooming) chỉ trong có vài ngày…Hừm, hãy thử xem cái title: Learn Pascal in Three Days gợi lên được điều gì:

* Learn: Trong 3 ngày thậm chí bạn còn chưa đủ thời gian viết được một vài chương trình cho ra hồn chứ đừng nói đến việc học từ những thành công và thất bại. Bạn cũng không có cơ hội làm việc với những người có kinh nghiệm và hiểu xem cái gì đang xảy ra xung quanh mình. Nói tóm lại là bạn chẳng thể nào học cho cặn kẽ được. 3 ngày chỉ đủ để bạn làm quen với phần nổi bề ngoài, đó không phải sự thấu hiểu. Và như Alexander Pope đã từng nói: “Hiểu biết nông cạn còn nguy hiểm hơn kẻ mù chữ” (Nguyên văn: A little learning is a dangerous thing).

* Pascal: Trong 3 ngày có thể bạn học xong cú pháp của Pascal (nếu bạn đã thực sự biết một vài ngôn ngữ lập trình khác), nhưng bạn khó mà học được cách sử dụng chúng. Nói ngắn gọn, nếu bạn là một lập trình viên Basic, bạn có thể viết những chương trình theo phong cách Basic sử dụng cú pháp của Pascal, nhưng bạn sẽ chẳng hiểu được những ưu điểm hay nhược điểm của Pascal. Vậy quan điểm ở đây là gì? Alan Perlis (giáo sư đại học Yale), trong Epigrams on Programming đã từng nói: “Một ngôn ngữ mà chẳng ảnh hưởng gì đến cách bạn tư duy về lập trình, ngôn ngữ ấy chỉ là đồ bỏ đi, không đáng để học” (Nguyên văn: A language that doesn't affect the way you think about programming, is not worth knowing). Có thể chấp nhận được nếu bạn chỉ định học đôi chút về Pascal (hoặc Visual Basic hay JavaScript) vì bạn chỉ cần làm quen với những công cụ có sẵn để làm một việc nào đó. Nhưng đấy không phải là bạn học ngôn ngữ để lập trình, bạn chỉ học để hoàn thành nhiệm vụ cụ thể của mình mà thôi.

* Trong 3 ngày: Thật đáng tiếc, điều này là không thể, như tôi sẽ chỉ ra dưới đây.

Tự học lập trình trong 10 năm

Các nhà nghiên cứu (Hayes, Bloom) đã chỉ ra rằng cần ít nhất 10 năm để đạt được sự tinh thông trong nhiều lĩnh vực, từ đánh cờ, sáng tác âm nhạc, hội họa, bơi lội, tennis, hay thu được kết quả trong tâm lí thần kinh hay hình học topo. Và lịch sử đã chứng minh không thể có con đường tắt. Dù cho đó là Mozart, thiên tài âm nhạc nảy nở từ năm lên 4 tuổi, cũng phải mất 13 năm để cho ra đời tác phẩm nhạc cổ điển đầu tiên. Dù cho đó là Beatles, trước khi xuất bản #1 đầu tiên vào năm 1964, họ cũng đã phải cặm cụi trong những câu lạc bộ nhỏ tại Liverpool hay Hamburg. Samuel Johnson cho rằng bạn thậm chí mất hơn 10 năm: “Sự vượt trội ở bất cứ lĩnh vực nào cũng chỉ có thể đạt được bằng lao động cật lực trong suốt cuộc đời, bạn không thể mua nó bằng một cái giá rẻ hơn” (Nguyên văn: “Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price”). Và Chaucer phàn nàn: “Cuộc đời quá ngắn ngủi, trong khi những mánh khóe thì lại quá dài để có thể học được”. (Nguyên văn: “The lyf so short, the craft so long to lerne”).

Đây là công thức cho những thành công của tôi trong lập trình:

* Hãy yêu thích nó, bạn làm vì bạn cảm thấy vui vẻ và hào hứng. Hãy chắc chắn rằng bạn luôn như thế trong 10 năm…

* Hãy trao đổi với những lập trình viên khác, đọc chương trình của họ. Điều này còn quan trọng hơn bất kì quyển sách hay khóa đào tạo nào.

* Cách học tốt nhất là thông qua thực hành (learning by doing). Nói cho rõ ràng hơn thì: “Tầm cao nhất của một lĩnh vực nào đó không thể có được chỉ thông qua sự bổ sung về mặt kinh nghiệm. Nhưng kể cả khi đã có rất nhiều kinh nghiệm, nếu cố gắng và nỗ lực, bạn vẫn có thể tiến xa hơn”. (Nguyên văn: “The maximal level of performance for individuals in a given domain is not attained automatically as a function of extended experience, but the level of performance can be increased even by highly experienced individuals as a result of deliberate efforts to improve") và “để học tập một cách hiệu quả nhất, bạn cần phải xác định rõ khả năng hiện tại của mình, thu thập kiến thức từ người khác, và tự tìm lấy những cơ hội để học theo và sửa đổi sai lầm của chính mình” (Nguyên văn: “The most effective learning requires a well-defined task with an appropriate difficulty level for the particular individual, informative feedback, and opportunities for repetition and corrections of errors”). Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life là một cuốn sách rất hữu ích cho quan điểm này.

* Nếu bạn muốn, hãy giành 4 năm ở đại học (và nhiều hơn ở trường phổ thông). Bạn sẽ có cơ hội làm những công việc yêu cầu khả năng và hiểu biết chuyên sâu hơn trong một vài lĩnh vực. Trong bất kì trường hợp nào, chỉ đọc sách thôi là chưa đủ. “Bút vẽ và mực màu không thể biến bạn trở thành họa sĩ, cũng như những bài giảng về khoa học máy tính trên lớp không thể giúp bạn trở thành chuyên gia lập trình” (Nguyên văn: “Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter”), Eric Raymond, tác giả của The New Hacker Dictionary đã nói như vậy. Một trong những lập trình viên giỏi nhất mà tôi đã từng thuê chưa từng có bằng đại học, nhưng anh ta đã tham gia viết những phần mềm tuyệt vời (ví dụ), có news group của riêng mình và anh ta thậm chí còn giàu hơn cả tôi.

* Hãy tham gia vào các projects với những lập trình viên khác. Bạn có thể là best programmer trong một projects, nhưng cũng có thể là worst. Nếu là best, hãy thử khả năng làm leader của mình. Còn ngược lại, hãy học hỏi xem người giỏi nhất làm gì, và học xem họ không làm gì (vì họ muốn bạn làm những việc đó).

* Trong một project, hãy bắt tay làm việc sau những lập trình viên khác, khi bạn đã hiểu chương trình của họ. Hãy tìm xem những gì cần thiết để hiểu và chỉnh sửa khi người viết ra chương trình đó không có mặt ở đây. Thử nghĩ xem làm thế nào để thiết kế những chương trình giúp cho những người sau này có thể dễ dàng hơn trong việc bảo trì nó.

* Hãy học ít nhất khoảng nửa tá ngôn ngữ lập trình, bao gồm:
o Một ngôn ngữ hỗ trợ việc tạo các lớp trừu tượng (Java hoặc C++)
o Một ngôn ngữ lập trình hàm (Lisp hoặc ML)
o Một ngôn ngữ cú pháp (Lisp)
o Một ngôn ngữ hỗ trợ khai báo định danh (Prolog hoặc C++ templates)
o Một ngôn ngữ hỗ trợ coroutine (Icon hay Scheme)
o Một ngô ngữ hỗ trợ song song (Sisal)

* Hãy nhớ rằng “máy tính” là một phần của “khoa học máy tính”. Nên nắm rõ thời gian để máy tính thực hiện một chỉ thị, lấy một từ trong bộ nhớ (có hay không có cache), đọc những từ liên tiếp trong ổ đĩa, hay tìm kiếm một vùng nhớ cụ thể.

Thời gian cần thiết để thực hiện các phép toán với một PC tốc độ 1GHz:

execute single instruction 1 nsec = (1/1,000,000,000) sec
fetch word from L1 cache memory 2 nsec
fetch word from main memory 10 nsec
fetch word from consecutive disk location 200 nsec
fetch word from new disk location (seek) 8,000,000nsec = 8msec

* Hãy cố gắng tuân theo những qui định tiêu chuẩn của ngôn ngữ. Có thể đó là của ANSI C++, hoặc đơn giản đó là của công ty bạn. Bạn cũng nên tìm hiểu xem người ta thích gì ở ngôn ngữ đó, họ cảm thấy thế nào, hay vì sao họ thích nó.

* Hãy sẵn sàng từ bỏ những tiêu chuẩn của ngôn ngữ càng nhanh càng tốt.

Với những điều tôi đã nói ở trên, bạn có thể băn khoăn rằng bạn sẽ đạt đến mức nào nếu chỉ đọc sách? Trước khi con trai cả của mình ra đời, tôi đã đọc tất cả những cuốn sách How To (làm thế nào), và vẫn cảm thấy vô cùng mù mờ, rối rắm. 30 tháng sau, khi sinh đứa thứ hai, phải chăng tôi đã quay lại chúng với cái nhìn hoàn toàn mới mẻ? Không, tôi chỉ dựa vào kinh nghiệm của chính mình. Chúng có ích và khiến tôi vững tin hơn nhiều so với việc đọc hàng ngàn trang sách của các bậc chuyên gia.

Fred Brooks, trong bài luận nổi tiếng No Silver Bullets đã làm rõ ba bước để tìm một designer tốt:

* Hãy giải thích một cách có hệ thống cho câu hỏi: “Thế nào là một top designer?” càng sớm càng tốt.
* Hãy giao triển vọng và tương lai phát triển của công ty cho những người thông thái, có nhiều kinh nghiệm và tìm cách giữ chân họ cẩn thận.
* Trao cơ hội cho những designers đang trong giai đoạn trưởng thành để họ có thể tiếp xúc, học hỏi, nâng cao trình độ.

Alan Perlis đã từng nói: “Mọi người đều có thể được dạy điêu khắc. Michealangelo thì không. Và ông đã tự trở thành nhà điêu khắc vĩ đại. Những lập trình viên siêu hạng cũng nên thế”.

Vì vậy, nếu mua quyển sách Java nói trên, bạn có thế sẽ thu được một vài điều có ích. Nhưng nó không thể thay đổi cuộc đời của bạn, hoặc đưa bạn đến sự thành thạo hay tinh thông, chỉ trong 24 giờ, vài ngày hay thậm chí là vài tháng.

Phụ lục: Lựa chọn ngôn ngữ

Có nhiều người hỏi nên chọn học ngôn ngữ nào đầu tiên. Không có câu trả lời cụ thể, dưới đây là một số quan điểm:

* Hãy nhìn vào bạn của mình. Khi hỏi: “Tôi nên sử dụng hệ điều hành nào đây, Windows, Unix hay Mac?”, tôi thường đáp rằng: “Hãy nhìn vào bạn của mình”. Lợi ích thu được từ việc học hỏi bạn bè sẽ bù đắp cho những khác biệt căn bản giữa các hệ điều hành hay ngôn ngữ lập trình. Thêm nữa, hãy nhìn những người bạn “sắp quen”: đó là tập hợp các programmers mà bạn sẽ song hành cùng họ nếu bạn vẫn tiếp tục hành trình. Ngôn ngữ bạn chọn có một cộng đồng phát triển rộng lớn hay chỉ một vài người tham gia? Có những tài liệu, websites hay forums nào mà bạn sẽ nhận được lời giải đáp cho thắc mắc của mình? Bạn có thích những người ở đó không?

* Hãy làm thật đơn giản. Những ngôn ngữ như C++ và Java được thiết kế cho các ứng dụng chuyên nghiệp thực hiển bởi đội ngũ đông đảo các lập trình viên giàu kinh nghiệm, những người vốn rất quan tâm đến hiệu suất những dòng mã của họ. Vì thế, chúng thường bao gồm nhiều thành phần rất phức tạp. Nếu mới bắt đầu, bạn không cần đến sự phức tạp. Bạn hãy học những ngôn ngữ có cấu trúc đơn giản, dễ học.

* Play. Bạn thích học piano theo cách nào hơn: cách thức tương tác (interactive mode), tức là bạn nghe mỗi nốt nhạc ngay khi nhấn một phím đàn hay cách thức “batch”, bạn chỉ nghe các nốt sau khi đã hoàn thành cả nhạc phẩm? Rõ ràng, cách thứ nhất giúp bạn dễ dàng học hơn phải không? Lập trình cũng như vậy. Hãy chọn cho mình một “interactive mode” và sử dụng nó

Theo tiêu chuẩn của riêng mình, tôi khuyên bạn nên bắt đầu với Python hoặc Scheme. Nhưng mỗi người có những hoàn cảnh khác nhau, và có thể có những lựa chọn tốt hơn. Nếu tuổi của bạn mới chỉ là số có một chữ số (tức bạn chưa đến 10 tuổi ), theo tôi bạn nên chọn Alice hoặc Squeak (những người lớn tuổi hơn cũng có thể thích chúng). Tuy nhiên, đó không phải là điều quan trọng. Quan trọng là, hãy chọn đi và bắt đầu ngay lập tức.

Peter Norvig

Xem bản gốc tiếng Anh tại đâyhttp://www.norvig.com/21-days.html

[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|