[Guidance] Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành |
19/03/2013 11:38:06 (+0700) | #1 | 274190 |
lovedobi
Member
|
0 |
|
|
Joined: 24/04/2008 08:59:34
Messages: 3
Offline
|
|
Chào HVA forum cùng toàn thể các bậc tiền bối. Mình đang công tác tại cơ quan chuyên môn về dự báo thuỷ văn của Việt Nam. Công việc của mình hàng ngày là nhận số liệu chuyển về dưới dạng mã kí hiệu, giải mã thành số liệu, từ số liệu đó kết hợp với số liệu quá khứ tính toán theo các phương trình để cho ra trị số dự báo. Hiện tại mọi lưu trữ số liệu, tính toán cho đến xuất bản tin đều chủ yếu làm trên excel và word rất thủ công và mất nhiều thời gian. Cùng với thời gian, số liệu càng ngày càng nhiều thì quản lý kiểu đó đã không còn phù hợp và gây khó khăn khi người dùng cần khai thác. Nói chung mình muốn có một phần mềm để làm những việc đó một cách có thể thống tiết kiệm tối đa sức người.
Mình post bài này không mong muốn có ai sẽ lập trình giùm mình, càng không có tiền để thuê chuyên viên lập trình làm ra phần mềm đó mà mình muốn tự mình viết. Vì lập trình với mình hoàn toàn như một tờ giấy trắng nên mình muốn các bậc tiền bối đi trước có thể định hướng giúp mình để viết ra được một phần mềm như vậy mình cần phải làm những gì. Cụ thể mình cần giải đáp những thắc mắc như sau:
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.
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 ^^).
Tạm thời 2 vấn đề này đã. Mong các tiền bối giải đáp giúp. Hy vọng sẽ lại được tiếp tục hỏi ^^ |
|
|
|
|
[Guidance] Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành |
19/03/2013 15:23:11 (+0700) | #2 | 274193 |
|
xuanphongdocco
Member
|
0 |
|
|
Joined: 19/08/2009 08:25:03
Messages: 247
Offline
|
|
Chào bác,
a. Thứ nhất em không phải tiền bối
b. Để đào tạo 01 người không biết về lập trình trở thành => có khả năng và tự code được sản phẩm cho mình, thì em nghĩ không thể nói hết trong 01 comment. Đó là 01 quá trình.
c. Bác nói không có tiền để thuê chuyên viên lập trình làm ra phần mềm cho mình. Vậy bác có thử đề xuất lên lãnh đạo xem.
d. Trả lời 1. của bác. Bác vui lòng cung cấp cụ thể cần xử lý dữ liệu đầu vào như thế nào (các ký hiệu nó trông ra làm sao), và các nghiệp vụ tính toán thì mới kết luận được độ phức tạp và chọn công nghệ phù hợp.
e. Trả lời 2. của bác. Em cho rằng trải qua đào tạo chính quy đại học thì mới tốt. Học các khoá mì ăn liền thì không tin tưởng lắm.
f. Em tin tưởng bác có khả năng trời phú. Vì vậy cứ nghĩ điều b của em là vứt đi là được |
|
Xuân Phong Nguyễn |
|
|
|
[Guidance] Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành |
20/03/2013 07:26:21 (+0700) | #3 | 274219 |
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 ! |
|
Spam thêm một bài là góp một viên gạch xây diễn đàn lớn mạnh |
|
|
|
[Guidance] Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành |
27/03/2013 05:33:39 (+0700) | #4 | 274428 |
|
chiro8x
Member
|
0 |
|
|
Joined: 26/09/2010 00:38:37
Messages: 661
Location: /home/chiro8x
Offline
|
|
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. |
|
while(1){} |
|
|
|
[Guidance] Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành |
27/03/2013 15:09:43 (+0700) | #5 | 274436 |
|
bolzano_1989
Journalist
|
0 |
|
|
Joined: 30/01/2007 12:49:15
Messages: 1406
Offline
|
|
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 ?
|
|
Kiểm tra các file bạn nghi ngờ có virus:
http://goo.gl/m3Fb6C
http://goo.gl/EqaZt
http://goo.gl/gEF8e
Nhận mẫu virus qua FB: http://goo.gl/70Xo23
HVA Malware Response Team: kiemtravirus@gmail.com
Trợ giúp diệt virus: http://goo.gl/2bqxY |
|
|
|
[Guidance] Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành |
27/03/2013 21:44:22 (+0700) | #6 | 274441 |
BlueMM
Member
|
0 |
|
|
Joined: 14/02/2012 05:11:33
Messages: 28
Offline
|
|
1. Ở VN toàn dùng C# và Java để làm phần mềm thôi, vì nó làm giao diện rất nhanh, chứ làm C thì hơi cực. Với lại tốc độ xử lý máy tính giờ cũng nhanh rồi, không cần phải viết bằng mã cấp thấp như hồi xưa nữa.
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.
Nếu bạn cần trợ giúp thì có thể liên hệ mình, hiện tại mình gần ra trường, cần có vài project cụ thể để nghiên cứu làm khoá luận và tích luỹ kinh nghiệm, và chắc chắn sẽ tiết kiệm thời gian + chi phí nếu bạn thuê lập trình viên bên ngoài. |
|
|
|
|
[Guidance] Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành |
27/03/2013 22:07:01 (+0700) | #7 | 274442 |
|
chiro8x
Member
|
0 |
|
|
Joined: 26/09/2010 00:38:37
Messages: 661
Location: /home/chiro8x
Offline
|
|
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 .
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
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.
|
|
while(1){} |
|
|
|
[Guidance] Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành |
28/03/2013 08:09:47 (+0700) | #8 | 274448 |
|
Mask__
Member
|
0 |
|
|
Joined: 16/02/2012 17:28:30
Messages: 58
Location: shinobi
Offline
|
|
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 ). |
|
Tình cờ là hình hài của chúa khi vi hành... |
|
|
|
[Guidance] Các bậc tiền bối định hướng giúp mình về lập trình chuyên ngành |
28/03/2013 10:40:38 (+0700) | #9 | 274456 |
lovedobi
Member
|
0 |
|
|
Joined: 24/04/2008 08:59:34
Messages: 3
Offline
|
|
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 ^^ |
|
|
|
|
|
|
|
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|
|
|