<![CDATA[Latest posts for the topic "Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành"]]> /hvaonline/posts/list/21.html JForum - http://www.jforum.net Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành /hvaonline/posts/list/44435.html#274190 /hvaonline/posts/list/44435.html#274190 GMT Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành /hvaonline/posts/list/44435.html#274193 /hvaonline/posts/list/44435.html#274193 GMT Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành /hvaonline/posts/list/44435.html#274219 /hvaonline/posts/list/44435.html#274219 GMT Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành 1. Để làm được một phần mềm như vậy thì ngôn ngữ lập trình nào là tối ưu về hình thức cũng như tốc độ xử lý tính toán.  Ngôn ngữ lập trình rất phong phú, đa dạng, mỗi ngôn ngữ lập trình có những tính chất, khác nhau. Hiện nay máy tính mạnh hơn trước nhiều nên tốc độ xử lý do việc chọn lựa ngôn ngữ không ảnh hưởng tới kết quả quá nhiều, trừ khi bạn có một chiếc máy tính mua từ năm 1999 trở về trước, hoặc bạn muốn có một ứng dụng chuyên biệt, đòi hỏi nhiều tài nguyên.... Khi lựa chọn lợi thứ này sẽ thiệt thứ kia. chẳng hạn: C - Nhanh, bạn có thể tối ưu chương trình của bạn hàng ngàn lần và nó vẫn tiếp tục được tối ưu tiếp. Bạn sẽ làm việc với các tổ chức dữ liệu cấp thấp như bits, bytes một cách trực tiếp. Bù lại bạn sẽ thường xuyên gặp phải vấn đề với cấp phát và giải phóng bộ nhớ động. Vấn đề khi làm việc với chuổi, vấn đề khi chuyển đổi các loại dữ liệu...nhưng làm chủ được nó thì sẽ không có trở ngại gì trong việc lập trình cũng như nắm bắt các ngôn ngữ mới. Python: Tiện lợi cho người viết, cross-platform, không cần thiết quan tâm tới giữ liệu cấp thấp, xử lý và chuyển đổi dữ liệu dễ dàng, thư viện có sẳn phong phú, đơn giản dễ học ... tuy nhiên rào cản là nó sẽ tập cho bạn những thói quen lập trình xấu.
2. Để học được ngôn ngữ lập trình đó thì mình sẽ phải theo học ở đâu thì tốt (mình không cần chứng chỉ gì cả chủ yếu phục vụ công việc thôi và chỉ học được vào buổi tối, 8 tiếng vàng ngọc lại còn vợ con rồi nên time eo hẹp lắm ^^). 
Có một máy tính nối internet, biết sử dụng công cụ tìm kiếm, biết cách xếp các từ thành từ khoá, bạn đã sẳn sàng học ngôn ngữ lập trình. *tôi muốn nói thêm điều này: ngôn ngữ chỉ hình thức của tư duy lập trình, học lập trình không chỉ rèn luyện kỹ năng ngôn ngữ mà quan trọng hơn cả là rèn luyện tư duy lập trình tốt.]]>
/hvaonline/posts/list/44435.html#274428 /hvaonline/posts/list/44435.html#274428 GMT
Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành

chiro8x wrote:
Python: Tiện lợi cho người viết, cross-platform, không cần thiết quan tâm tới giữ liệu cấp thấp, xử lý và chuyển đổi dữ liệu dễ dàng, thư viện có sẳn phong phú, đơn giản dễ học ... tuy nhiên rào cản là nó sẽ tập cho bạn những thói quen lập trình xấu.  
Bạn có thể cho mọi người biết những "thói quen lập trình xấu" mà Python sẽ tập cho người học được không ;-) ? ]]>
/hvaonline/posts/list/44435.html#274436 /hvaonline/posts/list/44435.html#274436 GMT
Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành /hvaonline/posts/list/44435.html#274441 /hvaonline/posts/list/44435.html#274441 GMT Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành

bolzano_1989 wrote:

chiro8x wrote:
Python: Tiện lợi cho người viết, cross-platform, không cần thiết quan tâm tới giữ liệu cấp thấp, xử lý và chuyển đổi dữ liệu dễ dàng, thư viện có sẳn phong phú, đơn giản dễ học ... tuy nhiên rào cản là nó sẽ tập cho bạn những thói quen lập trình xấu.  
Bạn có thể cho mọi người biết những "thói quen lập trình xấu" mà Python sẽ tập cho người học được không ;-) ?  
bolzano bắt nạt mình nữa rồi :-( . Nhưng mình phải trả lời đây :P. 1. Python không nghiêm ngặt về cái gọi là định nghĩa kiểu cho dữ liệu. chẳng hạn bạn viết : a = 1 #python ngầm hiểu đây là int a = [1,2,4] #python ngầm hiểu đây là array a = "testing" #python ngầm hiểu đây là 1 string Bạn có thể đặt a = 1 sau đó bạn đặt a = "testing", mặc định là vùng nhớ cấp phát cho a trước đó là int được loại bỏ và chuyển qua một vùng nhớ mới dành cho string. Và type(a) == int. Trong C mình không thể chơi trò đó: int a; char *a; //<----error 2. Khái niệm khối lệnh python không rõ ràng: nó sử dụng [tab] (0x09) để cách đầu dòng hoặc 0x32 0x32 0x32 (3 kí tự space liên tiếp). Nếu ta dùng 2 IDE khác nhau, 2 trình soạn thảo khác nhau. Khi thực thi nó sẽ báo lỗi nếu có sự xen kẻ giữa 2 loại cách đầu dòng cho khối lệnh. (Tôi sử dụng Geany/Gedit & Python 2.7.3.) Với C nó thật đẹp và rõ ràng {} if(a == 1) { } nó còn giúp bạn làm quen với PHP, Java, JS... 3. Thói quen cấp phát và sử dụng bộ nhở tùy tiện. Bạn khởi tạo mọi nơi, chuyển con trỏ mọi nơi mà chẳng quan tâm đâu là biến, đâu là con trỏ, bạn cũng chẳng quan tâm xem bộ nhớ dành cho nó được giải phóng hay chưa, giới hạn vùng nhớ của bạn là bao nhiêu, tất cả những gì bạn làm là đẩy hết nó cho Python. Với C bạn vay gì bạn trả đó... 4. Thói quen debug. Mình viết xong 1 script python việc mình làm là. $ python2 mytest.py Nà nó throw cho tôi một đống lỗi #:S Với C thì sao, mình không làm tùy tiện thế vì làm thế nó có thể làm tổn hại tới dữ liệu của mình, mình ngồi đó chậm rãi lần theo dấu vết của bugs tại nhưng breakpoint mà mình hồ nghi. Mình sẽ dừng lại khi thấy có thể gây nguy hại cho dữ liệu của mình. ---------------------------- Đó là 1 trong số những thứ mình không thể nào khiến mình gắn bó với Python, đó là ý kiến chủ quan của mình. Python quá dễ dãi và lẵng lơ :v. ]]>
/hvaonline/posts/list/44435.html#274442 /hvaonline/posts/list/44435.html#274442 GMT
Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành

BlueMM wrote:
2. Mình bắt đầu học thuật toán trước, ngôn ngữ không quan trọng, và cần phải có quá trình lâu dài. Trình tự học là: thuật toán (ngôn ngữ C) - quan trọng, sau đó dùng C# hoặc Java để làm phần mềm.  
Chỗ này có vẻ không đúng lắm , thuật toán chưa hẳn phải là ngôn ngữ C , nó là algorithm chứ không phải là programming , 2 cái khác nhau nhé, ngôn ngữ lập trình sử dụng thuật toán, còn thuật toán có thì có thể sự dụng giả thuật để biểu diễn theo cách hiểu. Theo chương trình Đại học, trình tự sẽ là : Cấu trúc dữ liệu và giải thuật -> ngôn ngữ lập trình căn bản ( Đa phần là C ). Bạn hãy tìm hiểu quy trình học thật kĩ, nếu đã "đả thông tư tưởng" thì có thể bắt đầu ngay vào học 1 ngôn ngữ. C là 1 nên tảng rất tốt, chúc bạn may mắn . (nếu cần 1 cuốn tài liệu cơ bản nhất về C thì tớ có 1 quyển đây, hề hề, tìm đỏ mắt sau khi đọc bài của anh mrro ). ]]>
/hvaonline/posts/list/44435.html#274448 /hvaonline/posts/list/44435.html#274448 GMT
Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành

invalid-password wrote:
Nếu công việc của bạn hiện tại có thể làm trên Excel và bạn muốn tự động thêm một ít thì tôi nghĩ Excel có thể đáp ứng được. Thực ra Excel mạnh hơn mình nghĩ, đặc biệt là đối với lớp bài toán thống kê như công việc dự báo của bạn. Bạn nên qua diễn đàn Giải pháp Excel, nêu rõ vấn đề là bạn cần làm là gì. Đưa 1 số liệu đầu vào và cái bạn cần ở đầu ra là gì, người trên diễn đàn Excel sẽ giúp bạn. Excel 2010 đã giúp tôi giải quyết những vấn đề thống kê mà 10 năm trước tôi cứ phải viết mấy chương trình nhỏ nhỏ để làm (chắc Excel thời đó cũng có cách làm nhưng do tôi chưa biết :) ). Tiếp theo, nếu Excel là chưa đủ cho bài toán thống kê thì bạn học SQL 1 ngày rồi mở MS Access lên làm chắc là xong ! 
Vẫn đề đặt ra là mình phải có một công cụ dự báo dành cho riêng mình. Với các cơ quan nhà nước chủ yếu bây giờ vẫn xử dụng các phần mền không bản quyền. Điều này thật khó để mang sản phẩm đi PR với các đối tác có nhu cầu. Vả lại nếu chỉ xây dựng trên nền tảng excel và macro thì đưa vào hồ sơ năng lực sẽ kém thuyết phục. Vấn đề nữa là nếu các bạn thường xuyên làm đề tài dự án các bạn sẽ thấy tình trạng ở VN, thường là sản phẩm có trước, sau đó đăng ký, đăng ký được thì sản phẩm có rồi chỉ việc làm thủ tục chứng từ đúng hạn để nộp là ok. Vì vậy quá trình làm phần mềm trước đó là gần như không có kinh phí, nếu không đăng ký được đề tài dự án thì coi như đi câu mà mất mồi. Vả lại với các nghiên cứu cơ bản thì có thể ra sản phẩm hoặc không, hoặc là ra sản phẩm rồi sản phẩm đó sẽ yên vị trong các cơ quan lưu trữ. Nhưng đặc thù công việc của mình là nghiên cứu có tính ứng dụng thực tế cao, bên cạnh đó sẽ phải thay đổi hàng năm theo nhu cầu thực tế. Nếu mình thuê viết thì cũng chỉ được lúc đó, còn 5 đến 10 năm sau sau khi kết thúc đề tài cần chỉnh sửa ai sẽ là người làm việc đó ngoài mình vì lúc đấy đâu có tiền để thuê nữa, và nếu mình không biết về lập trình thì kể cả có chuyển giao mã nguồn thì cũng chẳng để làm gì. Cuối cùng, mình xin cảm ơn các bạn đã tư vấn cho mình. Mình đã quyết định sẽ tự học C, mình đã mua quyển giáo trình của GS. Phạm Văn Ất, vừa đọc vừa làm theo mình cũng đã làm được các chương trình đơn giản như in 1 dòng lên màn hình, giải phương trình bậc 1 bậc 2 ... coi như học mẫu giáo ^^ Mình sẽ còn ngâm cứu tiếp, có gì khó khăn sẽ lên đây nhờ các bạn giúp đỡ. Rất cảm ơn mà mong nhận được nhiều sự chỉ giáo cảu các bạn ^^]]>
/hvaonline/posts/list/44435.html#274456 /hvaonline/posts/list/44435.html#274456 GMT