PDA

View Full Version : nên viết phần mềm = ngôn ngữ gì



freewarez
16-03-2005, 16:00
nếu tôi muốn viết 1 phần mềm liên quan đến xây dựng, theo các bạn nên dùng ngôn ngữ nào là tốt nhất?
xin cảm ơn các bạn.

zeldaBIO
16-03-2005, 16:47
trời chuyện này là chuyện của từng người. Chứ đâu có thể bắt buộc được.

tranvu
16-03-2005, 21:26
tùy lĩnh vực thôi

ghosthd
17-03-2005, 14:54
hic, tùy bạn thôi. Nên chọn ngôn ngữ đầu tay của mình mà làm. Nếu nhiều quá không chọn được thì chọn cái nào hỗ trợ tốt yêu cầu đặt ra...

satthuhuydiet
17-03-2005, 14:56
viet bằng pascal :D

congkhanh
17-03-2005, 17:05
viết bằng "tiếng Việt", vì nó là cơ sở để có thể translate tới mọi ngôn ngữ khác......

ghosthd
18-03-2005, 08:25
Phải chọn ngôn ngữ lập trình thì với có thể phân tích tốt được, vì nhiều khi phân tích thiếu thực tế, không hiểu rằng ngôn ngữ lập trình có hỗ trợ.

tinman
18-03-2005, 08:32
Câu hỏi của bạn không có đủ chi tiết để có thể trả lời được.

1) Phần mềm đó có giao diện đồ họa hay không? Hay chỉ là dạng text chạy trên console
2) Phần mềm đó có phải tính toàn nhiều, số liệu trao đổi qua lại nhiều hay không?
3) Phần mềm đó có cần phải lưu trử các dữ liệu vào file hay database hay không?
4) Phầm mền đó sẻ chạy trên những máy nào? Window, Linux...?
...
100)...

Nếu có đủ các chi tiết này thì mới có thể chọn 1 ngôn ngữ, hay phương án tốt nhất để thực hiện. Nếu chỉ là viết chơi chơi giống như làm bài tập, hay là project ở trong lớp. Chỉ cần lựa ngôn ngữ nào bạn làm được thì làm.

freewarez
19-03-2005, 17:45
Câu hỏi của bạn không có đủ chi tiết để có thể trả lời được.

1) Phần mềm đó có giao diện đồ họa hay không? Hay chỉ là dạng text chạy trên console
2) Phần mềm đó có phải tính toàn nhiều, số liệu trao đổi qua lại nhiều hay không?
3) Phần mềm đó có cần phải lưu trử các dữ liệu vào file hay database hay không?
4) Phầm mền đó sẻ chạy trên những máy nào? Window, Linux...?
...
100)...

Nếu có đủ các chi tiết này thì mới có thể chọn 1 ngôn ngữ, hay phương án tốt nhất để thực hiện. Nếu chỉ là viết chơi chơi giống như làm bài tập, hay là project ở trong lớp. Chỉ cần lựa ngôn ngữ nào bạn làm được thì làm.
dạ , em có ý tưởng về nó thế này:
1) giao diện đồ họa
2) tính toán rất nhiều ( liên quan đến xây dựng mà)
3) có lưu trữ vào file , DB
4) chạy trên WIndows
mong bác tư vấn giúp...

nbs191
20-03-2005, 02:02
Góp ý : Nếu yêu cầu về đồ họa cao, có thể dùng các script nhúng vào các engine có sẵn như 3D Max hay Maya ( khá nổi tiếng ).

Mach2
20-03-2005, 16:45
Bạn ko nói là viết "phần mềm" gì trong xây dựng nên cũng khá khó để góp ý. Bạn cứ post problem lên, trên này cũng ko thiếu dân XD đâu :) (tôi ko phải dân XD, nhưng nói thế để cho bạn yên tâm).
Tôi cứ giả sử là "phần mềm" của bạn nằm trong 2 nhóm chính: nhóm tính toán "theo procedure" (dạng như tính chuẩn, kiểm tra chuẩn) và dạng "High performance computing".
Dạng thứ nhất thì theo tôi thấy, gọi là "tính toán nhiều" thì hơi quá (dạng này chỉ tính theo công thức, tra bảng) nên tính toán có thể gọi là nhẹ.
Dạng thứ hai thì mới thật sự nặng, nằm trong cái gọi là "HPC" mà bạn nghe thấy trong báo đài (phải có hệ máy song song giè giè đó). Tất nhiên "nặng" hay "nhẹ" chỉ là tương đối vì phụ thuộc vào "problem size".
Bạn hãy phân tích mức độ "nặng" hay "nhẹ" dựa vào mức độ phức tạp vấn đề. Nếu tính toán "theo procedure" thì chỉ ở O(N), còn "high performance..." thì O(N^2), O(N^3) hay cao hơn (ví dụ như phải giải hệ tuyến tính hay phi tuyến).
Về programming language thì theo tôi thấy thích gì xài đó. Kinh nghiệm cho thấy project ở bậc đại học thường ko phải là problem lớn (nên ko cần nhất thiết phải viết bằng C++ hay ngôn ngữ tính toán chuyên ngành - do đó khó gọi là "phần mềm" được). Tuy nhiên để tham khảo thì hầu hết (hầu hết chứ ko phải tất cả) đều viết bằng C++ và tận dụng tối đa các thư viện toán (các thư viện toán này thường lại được viết bằng Fortran). Fortran cũng tốt nhưng làm một phần mềm lớn đúng nghĩa thì chẳng ai xài nó cả (làm một phần trong đó như xử lý tính toán thì có).
Tóm lại là bạn thích gì hay rành gì thì xài đó. (Visual) C++ cũng được, (Visual) Fortran cũng được, Delphi cũng được, (Visual) Basic cũng chẳng sao. Về đồ họa hay UI thì nó chỉ là trò "thêu hoa dệt gấm", chả có gì phải bận tâm. 4 thằng trên đều có thể xài tốt. Cùng lắm xài OpenGL hay DirectX để hỗ trợ thêm, ko cần phải dùng Max :chris: hay Maya :cool2: gì đâu.

tinman
21-03-2005, 12:25
dạ , em có ý tưởng về nó thế này:
1) giao diện đồ họa
2) tính toán rất nhiều ( liên quan đến xây dựng mà)
3) có lưu trữ vào file , DB
4) chạy trên WIndows
mong bác tư vấn giúp...

Vậy thì dùng Visual C#, hay Visual C++ hay Visual Basic thêm vào Access hay MSSQL database. Lập trình viên và những phần mềm này có đầy ở VN tha hồ mà phát triển.

vu980
02-04-2005, 17:03
Mình thấy đơn giản nhất là dùng Visual Basic 6.0 để viết chương trình vì nó vừa dễ viết, có giao diện đẹp, có thể kết nối cơ sở dữ liệu, ...

htam
06-04-2005, 10:23
uh, dùng visual basic là tốt nhất, nếu biết xài vb.net thì càng tốt. nói chung vb đễ xài, và cũng dễ lập trình.

Vinhie47
06-04-2005, 10:29
Nhưng mà VB thì chạy chậm lắm

satthuhuydiet
06-04-2005, 12:03
Thuê người ta viết đi, họ muốn viết sao thì viết khỏi suy nghĩ :D

C++
06-04-2005, 21:18
Viết bằng JAVA và VB.NET là ok hết

Vinhie47
07-04-2005, 16:35
Tớ thì rất thích dùng VC++6.0 mặc dù mới học thôi. Mà tiện thể hỏi luôn, thấy thằng bạn tớ nó bảo là bất cứ cái gì VC++6.0 làm được thì Java đều làm được, có đúng không vậy. Thông cảm nhé, vì mù tịt về Java nên cũng chẳng biết thế nào mà lần

ndmanh
24-05-2005, 16:03
sài ASP.NET đi. rất hay đó.

lt2hieu2004
25-05-2005, 06:52
Tui thích Java hơn vì Java dễ lập trình hơn. Nhưng hầu như ít có cơ hội lập trình = Java, phần lớn toàn lập trình = C++ vì tốc độ & flexibility.

ips
25-05-2005, 07:54
Phần mềm xây dựng thì dùng Lotus 123 hoặc quartro đi :D

THE LAST LEAF
25-05-2005, 08:58
Chương trình thiết kế xây dựng thì dễ nhất nên dùng Visual Basic, nếu cần thiết thì sử dụng VBA trong AutoCAD cũng rất tiện, cao cấp hơn thì dùng Delphi, hay VC++

Bác nào lại khuyên dùng ASP hay Java tôi chưa thấy phần mềm thiết kế nào viết được bằng mấy cái nn đó cả

lt2hieu2004
25-05-2005, 09:05
Chương trình thiết kế xây dựng thì dễ nhất nên dùng Visual Basic, nếu cần thiết thì sử dụng VBA trong AutoCAD cũng rất tiện, cao cấp hơn thì dùng Delphi, hay VC++

Bác nào lại khuyên dùng ASP hay Java tôi chưa thấy phần mềm thiết kế nào viết được bằng mấy cái nn đó cả
ASP thì tui nghĩ là ko thể. Thế nhưng muh Java thì có rì mà ko được?? Mặc dù nó chậm hơn nhưng lại dễ viết hơn & so với cái VB của bác thì nó mạnh hơn gấp vạn lần.

THE LAST LEAF
25-05-2005, 09:12
Có chắc là dễ viết hơn không ,bác thử viết một App vẽ đồ thị hàm số lên form để đọ xem Java hay VB tốn nhiều dòng lệnh hơn :D

lt2hieu2004
25-05-2005, 09:14
Hẹ, tui nói dễ viết hơn là so Java với C++. Còn so VB & Java là tui so ngôn ngữ nèo mạnh hơn. Còn VB chỉ đơn giản nếu viết những chương trình đơn giản. Chứ còn chương trình dạng CAD/CAM thì chưa chắc VB đã đơn giản hơn đâu. :)

DelphiLearner
25-05-2005, 20:46
Theo tui thì dùng Delphi là hay nhất.
Thứ nhất ngôn ngữ của Delphi là Object Pascal rất khoa học và lôgic, có phần quen thuộc vì chắc ai cũng đã được học Pascal.
Thứ hai đó là OOP dùng để phát triển ứng dụng nhanh, tốc độ sinh mã ngang ngửa C, tính năng không khác VB là mấy về phần sinh mã còn nhanh hơn vì là biên dịch thật sự.
Thứ ba Delphi có thể chuyển qua Linux dễ dàng (dùng các CLX hay là Kylix trên nền Linux) không phụ thuộc vào chính sách nhà bác Bill Gates.

ironus
30-05-2005, 19:37
Thứ ba Delphi có thể chuyển qua Linux dễ dàng (dùng các CLX hay là Kylix trên nền Linux) không phụ thuộc vào chính sách nhà bác Bill Gates.


Không dễ đâu, toè mỏ đấy, đừng nghe chúng nó quảng cáo.
Tuy nhiên trong những công cụ lập trình trên Windows thì tôi khoái thằng này nhất.

Vinhie47
03-06-2005, 10:29
Hỏi các bác một câu nữa này: tớ dùng C# thấy nó làm được nhiều cái VC++ làm, nhưng mà bác Bill vẫn cho cả 2 thằng này vào trong bộ VS.net. Vậy thì ta dùng từng cái đó khi nào, và C# có viết được driver không?

thailehuy
06-06-2005, 16:38
Bác nào lại khuyên dùng ASP hay Java tôi chưa thấy phần mềm thiết kế nào viết được bằng mấy cái nn đó cả
JBuilder viết bằng Java, chạy chậm nhưng rất mạnh

thuti
18-07-2005, 15:59
Các bác cho em hỏi làm sao để có thể chỉnh sửa (edit) 1 phần mềm. Làm sao để việt hóa phần mềm?
Các bác cho em link download VB6 đi. Cám ơn các bác nhiều nha!

C++
18-12-2005, 17:53
Ai bảo JBuider là chậm nào ? phải chăng là máy bạn yếu ? máy tui chạy cùng lúc .NET và JBuider vẫn ko xi nhê

erafc
18-12-2005, 22:24
Vô bổ quá bà con ơi ời... viết = cái quái gì thì viết miễn có xu là được mà

C++
20-12-2005, 22:14
Phải nói là viết cái quái gì cũng được miễn có ý tưởng và cái gọi là tư duy, còn ngôn ngữ thì cũng chỉ là ngôn ngữ, nó giống như noichuyện vậy mà, nếu ai tư duy hơn chút thì làm văn làm thơ, viết sách ..v..v còn bình nhàn thì cứ học hoài ngôn ngữ mà chả làm được gì

kakalot-x
20-12-2005, 22:31
Ông C++ chắc chưa học lập trình nên mới nghĩ vậy.

Ak.8
20-12-2005, 23:20
lại sắp như cái chợ đến nơi rồi , giải tán chủ đề này thôi

mtt333
20-12-2005, 23:40
Chỗ nào cũng thầy siêu thị tin học, chính xác hơn là chợ tin học.

khaplienhoa
21-12-2005, 19:19
Ông C++ chắc chưa học lập trình nên mới nghĩ vậy.
Người ta nói đúng thì thì không nghe, gân cổ mà cãi, dốt!

Than Dieu
21-12-2005, 19:31
Hiện nay, số người quen với máy tính, với việc lập trình ngày một nhiều, PC đã trở nên phổ biến. Nhu cầu được giao tiếp với thế giới bên trong máy tính không chỉ là một sở thích, hay công việc riêng tư của những người làm tin học nữa. Chỉ với vốn tiếng Anh tương đối, một chút trợ giúp là bạn đã có thể trở thành một nhà lập trình rồi, thế nhưng đó chỉ là các điều kiện cần mà chưa đủ. Số lượng trình biên dịch, chủng loại, tính năng ngày một phong phú, để chọn cho mình một ngôn ngữ lập trình, một trình biên dịch phù hợp với công việc chuyên môn cũng như nhu cầu học tập, nghiên cứu, bạn không thể không khỏi có những đắn đo. Những gì sau đây có thể giúp ích cho bạn ?

Để có cho mình một công cụ lập trình phù hợp về cả trình độ lẫn nhu cầu, bạn cần xác định xem bạn sẽ dùng nó để làm gì; tìm hiểu thế giới bên trong máy tính, chỉ để học thêm một ngôn ngữ lập trình mới nhằm phục vụ cho quá trình học tập, hay đó là một lựa chọn cho một hướng phát triển phần mềm chuyên nghiệp ? Hơn thế nữa bạn còn cần phải định hướng rõ ràng; môi trường thực hiện sẽ là môi trường phân tán hay môi trường cục bộ ? Có thể là hơi rắc rối nhưng những suy tính ban đầu này sẽ có ảnh hưởng rất nhiều tới các bước đi sau này.
Những người có ham muốn tìm hiểu sâu thế giới bên trong máy tính thường lấy hợp ngữ (Assembly) làm công cụ, có thể nói đây là thứ ngôn ngữ đầu tiên tương đối độc lập đối với các quá trình thực xảy ra trong các bộ vi xử lý. Qua một tập hữu hạn các lệnh được nhận biết nhờ các từ gợi nhớ sơ đẳng, người lập trình có thể trực tiếp can thiệp vào quá trình di chuyển dữ liệu, sửa đổi dữ liệu, điều khiển thiết bị... Công việc còn lại của trình dịch Assembler rất ít, phần lớn nhiệm vụ của nó là ánh xạ các lệnh gợi nhớ trong chương trình nguồn tới một tập cố định các lệnh của bộ vi xử lý, một số thao tác xử lý macro.
Để có được một chương trình hoàn chỉnh, người lập trình sẽ phải tìm hiểu thấu đáo tập lệnh, vì số lệnh, các chi tiết kỹ thuật cho tập lệnh có thể rất khác nhau giữa các bộ vi xử lý; định hình rõ ràng trình tự các thao tác; khả năng mà trình dịch có thể làm được; và nhất là xác định mức độ cần thiết của các thủ thuật lập trình. Chẳng hạn, trong khi các bộ vi xử lý dòng Intel (x86 phổ dụng trong các máy PC) thường có khoảng 8 thanh ghi đa năng, 6 thanh ghi đoạn, một thanh ghi con trỏ lệnh, cờ... thì các bộ vi xử lý dòng Motorola (MC680x0 phổ dụng trong các máy MacIntosh, các máy trạm của Sun, trong các hệ thống máy tính nhiều bộ vi xử lý, và trong rất nhiều máy PC) thì lại có tới khoảng 8 thanh ghi dữ liệu 80 bit, khoảng ngần ấy số thanh ghi địa chỉ cùng hàng tá thanh ghi với rất nhiều công dụng khác nhau, chế độ làm việc khác nhau.
Chính vì tính chỉ định phần cứng cao như vậy mà hiệu quả làm việc của một người thông qua hợp ngữ phụ thuộc rất nhiều vào kinh nghiệm làm việc, theo đó các chương trình này rất khó bảo trì, khó kiểm soát khi số thao tác của chương trình tăng, và đôi khi còn khó hiểu đối với chính người viết ra nó nếu không có các văn bản bảo trì được ghi chép cẩn thận. Nhưng bù lại, các chương trình thực hiện bằng hợp ngữ nói chung thường có kích thước rất khiêm tốn, chạy nhanh nhất tính trên cùng một trình tự thao tác cụ thể so với các ngôn ngữ khác.
Basic vốn là một ngôn ngữ phi cấu trúc, nó được phát triển để giúp người lập trình đỡ phần vất vả khi làm việc trên các bộ vi xử lý khác nhau. Với nó, người lập trình không phải lo lắng nhiều về sự khác nhau trong chi tiết kỹ thuật của từng bộ vi xử lý cụ thể, họ chỉ cần bận tâm tới việc cấu trúc sao cho chương trình của họ được tối ưu. Để có được tính khả chuyển trên nhiều loại vi xử lý, các chương trình Basic cần có một chương trình thông dịch để kích hoạt, trình thông dịch này có nhiệm vụ ánh xạ mã đầu ra của trình dịch Basic vào tập lệnh cụ thể của bộ vi xử lý khi chạy chương trình. Người ta đã từng đưa trình thông dịch này vào trong phần cứng, lưu trữ lâu dài trong các bộ nhớ chỉ đọc (ROM), và cung cấp các khả năng tương tác tương đối thuận tiện, giúp người lập trình thiết kế và gỡ rối nhanh chóng các chương trình Basic.
Ngày nay, Basic đã được cải tiến nhiều, về cả trình dịch lẫn bản thân ngôn ngữ, các ứng dụng của Microsoft thường dùng Basic như một công cụ để người sử dụng tuỳ biến chúng theo nhu cầu. Vì chạy thông dịch cho nên các ứng dụng viết bằng Basic chạy không nhanh, nhưng vì tính phổ cập, rất nhiều nhà phát triển công cụ vẫn hỗ trợ nó. Sản phẩm hỗ trợ Basic ở mức cao được nói đến ở đây là Visual Basic của Microsoft. Đây là một công cụ phát triển được Công ty này rất ưu ái, hiện nó đang được ưu chuộng trong lĩnh vực phát triển ứng dụng trên Windows. Visual Basic được hỗ trợ rất nhiều khả năng về cơ sở dữ liệu, các kỹ thuật phát triển phần mềm mới như OLE, COM, DCOM...
Nếu như bạn chưa có ý định trở thành nhà phát triển phần mềm ứng dụng thì cũng nên biết tới Basic, bởi vì hầu hết các ứng dụng lớn ngày này như Notes, bao gồm cả các phần mềm xử lý bảng tính, văn bản của Mirosoft đều có sử dụng macro lệnh được thiết kế dựa trên Basic, cho phép người sử dụng sửa đổi, bổ sung các tính năng mới theo nhu cầu.
Thế rồi phải nói tới Pascal, có thể nói đây là thứ ngôn ngữ vỡ lòng cho hầu hết những người bắt đầu tiếp xúc với máy tính. Nó được biết tới không chỉ vì là một trong số các ngôn ngữ cấu trúc ra đời đầu tiên trên thế giới, mà còn là vì tính dễ đọc, dễ tiếp cận của nó. Nếu bạn biết tiếng Anh, không nhất thiết phải biết về tin học, khi đọc một chương trình viết trong ngôn ngữ này bạn sẽ thấy ngay về cơ bản nó đang nói về một quá trình làm việc nào đó.
Với thứ ngôn ngữ này, người lập trình khỏi phải đau đầu vì phải tổ chức lấy chương trình, thay vào đó họ sẽ dùng các câu lệnh tiếng Anh rất dễ nhớ, dễ sử dụng. Việc xây dựng một chương trình rất giống với việc mô phỏng một quá trình hoạt động, có đầu ra đầu vào, mã nguồn của một chương trình như thế rất dễ đọc, dễ sửa đổi. Tất nhiên, trình dịch sẽ phải làm việc vất vả hơn bởi nó phải phân giải cả một dãy lệnh vốn chỉ dễ hiểu đối với con người nhưng lại... không thể hiểu nổi đối với các bộ vi xử lý. Hầu hết các ngôn ngữ lập trình cấu trúc (tất nhiên trong đó có Pascal) đều lấy việc dịch sang hợp ngữ làm một bước trung gian, theo đó các cấu trúc lệnh if...then, case...of, v.v. được chuyển thành các khối mã nguồn Assembly. Tóm lại, việc cấu trúc chi tiết cho một chương trình cụ thể được thực hiện tự động bởi trình dịch, lúc này các thủ thuật lập trình Assembly của người lập trình không còn có thể áp dụng vào đây, đôi khi nó còn máy móc làm phình to mã cho dù đã sử dụng tới cả chục thuật toán tối ưu.
Hầu hết các công cụ phát triển có hỗ trợ Pascal ngày nay đều đưa ra các khả năng kết nối mới cho nó, mã trình có thể được viết riêng rẽ trên nhiều tệp rồi kết nối, hoặc được nạp từ thư viện động... nhưng nói chung, đây là ngôn ngữ chỉ phù hợp với các ứng dụng nhỏ và trung bình, phổ dụng trong lĩnh vực đào tạo. Nếu bạn là người mới tiếp xúc với máy tính, muốn tìm hiểu cách hoạt động của một chương trình thì bạn hãy chọn ngôn ngữ này.
Delphi của Borland chỉ là một công cụ phát triển ứng dụng, nó được xây dựng bằng lõi Pascal. Với công cụ này, sau một vài tiếng đồng hồ đọc help, nhất là có ai đó hướng dẫn đôi chút, bạn hoàn toàn có thể tự viết cho mình các ứng dụng đơn giản như trình xem tệp .AVI, nghe nhạc, các thao tác tính toán, lưu trữ đơn giản... Nó tỏ ra rất thích hợp với những bạn thích khám phá nhưng không muốn tốn quá nhiều thời gian nghiền ngẫm.
Ng«n ng÷ C là ngôn ngữ lập trình cấu trúc như Pascal và là thứ công cụ mạnh đã từng được sử dụng để thiết kế hầu hết các hệ điều hành trên thế giới. Các hệ điều hành như UNIX, AMOEBA... đều thực thi bằng C, và nói chung đây là thứ ngôn ngữ có tính khả chuyển tương đối cao cho nên các hệ điều hành này có thể chạy trên rất nhiều phần cứng khác nhau, ngay cả với WINDOWS cũng vậy, rất nhiều module của nó cũng được xây dựng bằng C.
C++ là một bước phát triển tiếp theo của C trong xu thế 'đối tượng hoá' ngôn ngữ, nói như vậy là bởi hầu hết các trình dịch C++ đều lấy C làm nền cho tất cả các định hướng nhằm tận dụng các ưu thế mà mô hình thiết kế hướng đối tượng mang lại. Vốn dĩ C vẫn chưa được chuẩn hoá mặc cho rất nhiều cố gắng đã được đưa ra, các trình dịch C++ lại càng khó tìm được tiếng nói chung. Các nhà cung cấp trình dịch C đều muốn rằng sản phẩm của họ được các nhà phát triển công cụ ưa dùng, thế nhưng các nhà cung cấp công cụ phát triển lại muốn các trình dịch hướng theo mô hình thiết kế vốn muôn hình muôn vẻ mà họ đưa ra. Cứ như thế, C++ phát triển trong sự thiếu nhất quán, hệ thống từ khoá không được hỗ trợ đầy đủ, đôi khi không thống nhất, cách cấu trúc chương trình cũng không giống nhau mặc dù chúng giống nhau về mô hình.
Ngày nay, hầu hết các công cụ phát triển hệ thống mạnh như Visual C++, C++Builder, Visual Age... đều hỗ trợ song song cả C lẫn C++. Nói chung đây là các công cụ mạnh, thể hiện được ưu thế của chúng trong từng môi trường phát triển cụ thể; ví dụ Visual C++ thích hợp với những người muốn phát triển các ứng dụng nhất là các ứng dụng gắn với Windows, C++Builder thân thiện ngay cả với những người không nhiều kinh nghiệm trong lĩnh vực lập trình, ... Để tìm cho mình một trình dịch C++ phù hợp hãy lựa chọn; chẳng hạn, nếu bạn cần hướng theo việc xây dựng các ứng dụng phục vụ, có liên quan tới các dịch vụ chuẩn của Windows, không nhất thiết phải có màn hình giao tiếp phức tạp, hoặc cần có các ứng dụng can thiệp sâu vào hệ thống... bạn hãy lựa chọn Visual C++. Công cụ này đưa ra khá nhiều mẫu (wizard), theo khung định sẵn đó bạn chỉ cần thực thi các chi tiết là đã có một ứng dụng hoàn chỉnh rồi. Còn nếu bạn không đủ thời gian cần thiết để nghiền ngẫm cả đống các văn bản công bố từ Microsoft, mà lại muốn có các ứng dụng mang tính bề mặt, nhanh, đầy tính tương tác, bạn hãy sử dụng C++Builder hay một số sản phẩm tương tự từ IBM, Symantec...
Java là ngôn ngữ thế hệ mới, thế hệ năm, nó kế thừa hầu hết những 'tư chất' tốt đẹp của các bậc tiền bối, hướng đối tượng từ mô hình thiết kế tới mô hình thực thi, hỗ trợ đa luồng một cách rất tinh tế, độ tin cậy cao, tính khả chuyển tuyệt vời... Java nay không còn là một cơn sốt bình thường, nó là một xu thế song song tồn tại với các mô hình lập trình hiện có, ngày càng nhiều lĩnh vực mà nó có mặt. Ban đầu, mục tiêu của các nhà thiết kế của ngôn ngữ này là "Web đi tới đâu, Java đi tới đó", nay thì sao, nó đang len lỏi vào cả các hệ thống đầy tính thương mại như các hệ quản trị dữ liệu của ORACLE, rồi cả các hệ thống phục vụ cực lớn... Với phiên bản 2, từ tên ấn bản JDK được đổi thành SDK, Sun dần lộ rõ những ham muốn rất lớn lao trong việc đưa Java vào đời sống tin học của mọi người trên thế giới.
Java là ngôn ngữ mạnh, về cả mô hình thiết kế lẫn tính năng. Nếu bạn muốn thiết kế các trang Web sống động, bạn hãy chọn nó, một khối mã .CLASS vài KB có thể làm được nhiều điều hơn cả 100KB ảnh, nó là giải pháp cho một đường truyền tốc độ thấp. Nếu bạn muốn thiết kế các chương trình phân tán, Java là một lựa chọn tốt, nó có một lượng thư viện mạng được tổ chức hợp lý, thân thiện với người lập trình. Với nó bạn có thể tự thiết kế lấy các giao thức (ngay cả các giao thức lạ lẫm chưa từng được nhắc tới trong RFC), các ứng dụng phục vụ, và các ứng dụng sử dụng dịch vụ... mà không đòi hỏi mất quá nhiều thời gian tìm hiểu hệ thống, tìm kiếm các công bố kỹ thuật. Nếu bạn cần viết các ứng dụng mà mã của chúng có thể được sử dụng lại một cách linh hoạt, trên nhiều loại phần cứng, tốn ít thời gian bảo trì...và hợp 'thời' nhất, bạn cũng nên chọn Java. Với các ngôn ngữ khác, việc sử dụng lại mã rất khó, ví dụ bạn đã có một tệp .dll, cùng với hàng tá chi tiết kỹ thuật kèm theo bạn cũng rất khó sử dụng lượng thư viện có trong đó, đấy là chưa tính tới việc mã thư viện động này chỉ có thể sử dụng được trên các hệ thống Windows. Với Java thì lại khác, mô hình thiết kế của nó cho phép mã của mỗi lớp được gói trong một tệp .CLASS riêng, được kiểm soát trong không gian tên bởi hệ thống chạy Java, và được nạp một cách tường minh mỗi khi chương trình cần tới các hành vi của chúng. Có thể xem môi trường chạy Java lúc này là một cái giỏ táo, mỗi quả táo là một đối tượng, vết kích hoạt của một chương trình Java rất giống như lối của các con sâu, đục xuyên từ quả này sang quả khác... ứng với một con sâu, chương trình có một luồng kích hoạt, nhiều con sâu ứng với một chương trình Java đa luồng (multithread).
Môi trường kích hoạt Java có xu hướng phân tán, các đối tượng kích hoạt có thể không cùng nằm trên một máy duy nhất, theo đó nó có thể nằm rảI rác đâu đó trên mạng, chúng 'liên kết' với nhau để hình thành một chương trình thông qua mạng... Thế nhưng, khi các ưu thế trên không có trong định hướng của bạn về một công cụ lập trình, bạn đừng nên sử dụng nó. Thứ nhất, Java chạy thông dịch, tốc độ chậm dù đã được cải thiện nhờ cơ chế dịch JIT (một cơ chế nhận biết để ánh xạ một cách thông minh khối mã đầu vào cần thông dịch và khối mã đầu ra cần kích hoạt nhằm tiết kiệm thời gian dịch), và dù có mong đợi thế nào thì Java vẫn sẽ chạy thông dịch. Thứ hai, bản thân ngôn ngữ này đang trong thời gian hoàn thiện; hoàn thiện về hệ thống từ khoá, hoàn thiện về cách tổ chức máy ảo, hoàn thiện về thư viện...

Có thể rằng những gì trên đây là chưa đủ chi tiết để bạn có thể tự lựa chọn một công cụ dịch phù hợp nhưng có thể nói những gì mà tác giả đã từng băn khoăn cũng chính là những gì mà bạn đang băn khoăn. Nếu vậy bạn hãy liên lạc qua địa chỉ kien@moet.edu.vn. Hẹn gặp lại. . Chúc bạn thành công

khaplienhoa
21-12-2005, 19:37
http://vietnamnet.vn/cntt/2005/12/524025/

C++
22-12-2005, 14:09
Người ta nói đúng thì thì không nghe, gân cổ mà cãi, dốt!
Ây dà, tớ có làm gì cậu đâu mà cậu mắng tớ thậm tệ thế ? :eek:

Như cậu thấy đó bài của Than Dieu, nếu cậu biết JAVA và "thuộc làu" ngôn ngữ Java viết Application thì nếu tớ nói cậu hãy viết một phần mềm tính toán tất nhiên cậu viết bằng JAVA rất dễ, vậy nếu tớ biết C++ hay .NET cậu kêu tớ viết y vậy thì tớ cũng viết được đấy thôi, ý của tớ ko phải là ko cần học ngôn ngữ mà là hãy học cách tư duy và logic, nếu cậu ko biết C# (giả sử) nhưng nếu mình nói cậu hãy viết một phần mềm tính toán như phần JAVA mà cậu đã viết thì tất nhiên cậu sẽ học ngôn ngữ C# trước rồi cũng dùng cái tư duy mà cậu đã từng dùng để viết bằng JAVA đấy, đấy cậu thấy chưa ? cậu hiểu rồi chứ ? thân chào cậu :rolleyes: :rolleyes:

khaplienhoa
22-12-2005, 22:24
Há há, tại nói ngắn gọn quá nên bác hiểu nhầm rồi. Em là em nói cu Songoku-*** ấy chứ bác. Nếu em không nói rõ thì nhiều người bảo em bố láo xí toét.

Ấy là em học C đến một năm rưỡi, lập trình từ game đồ họa đến mức thấp, xử lý text đủ thứ trên đời, hiểu được nguyên lý logic của ngôn ngữ và hệ thống, học mấy cái các nó cứ vèo vèo ấy bác ạ.

C++ kế thừa, đa hình? Vớ vẩn, C cũng làm được vậy, destructor thì dùng stack, virtual method thì dùng function pointer.

C# cái này mới chuyển từ một hình lập trình native sang managed nên hơi bối rối vì bị mất đi sở thích dùng pointer. Mất 3 tuần để viết một chương trình quản lý sách cá nhân dùng XML.

Java, vớ vẩn, ngôn ngữ này cũng chỉ cần một tuần (vì đã biết C#) là viết được chương trình thi trắch nghiệm bằng Swing, dùng MS SQL (phải dùng UTF-8 mới chơi được tiếng Việt) và MySQL. Phải nói là khả năng thiết kế cấu trúc thư viện nền tảng của bọn SUN cực kỳ kém. Hàm gì tên tuổi tùm lum, đổi xoèn xẹt, thua xa anh nhà giàu Bill. Cái gì đổ tiền của để nghiên cứu thì phải đẹp hơn thôi.

PHP, Perl, XHTML, CSS2, Javascript cứ notepad mà phang, cũng một tuần là có một website như ai. Em nói phải tội chứ bác nào thiết kế web mà dùng Frontpage, Dream gì gì đó mà đua với Notepad của em thì cứ gọi là ngửi khói, nhá. Gõ nhiều quá, lại viết chương trình parsing XML và CSS nên thuộc tất cả các syntax. Color Name, property của CSS thì cứ gọi là nắm nằm lòng.

Bí quyết để học ngôn ngữ nhanh thì bắt đầu bằng notepad. Chỉ có C là em bắt đầu bằng borland C 3.1 thôi, còn lại toàn notepad yêu quý, JBuilder chưa biết nó tròn méo ra sao. Bây giờ lập trình C trên linux thì cứ gedit với kate mà phang là đủ.

Thôi khoác lác thế đủ rồi, cũng là kiếm chuyện vui cho mọi người.

jiSh@n
23-12-2005, 15:42
PHP, Perl, XHTML, CSS2, Javascript cứ notepad mà phang, cũng một tuần là có một website như ai. Em nói phải tội chứ bác nào thiết kế web mà dùng Frontpage, Dream gì gì đó mà đua với Notepad của em thì cứ gọi là ngửi khói, nhá. Gõ nhiều quá, lại viết chương trình parsing XML và CSS nên thuộc tất cả các syntax. Color Name, property của CSS thì cứ gọi là nắm nằm lòng.
Ngửi khói là phải rùi. Tui toàn là dùng photoshop để tạo layout, sau đó mới chia slice và kết xuất ra HTML, rồi phải dùng Dreamweaver để sửa chữa thành XHTML, rồi thay toàn bộ mấy tag table, tr, td... thành div để kết hợp với CSS để tối ưu tốc độ load web. Làm sao mà so được với Notepad chỉ gõ text được chứ.


C++ kế thừa, đa hình? Vớ vẩn, C cũng làm được vậy, destructor thì dùng stack, virtual method thì dùng function pointer.
C hiện thực tính kế thừa như thế nào vậy? Đa hình còn có overload, override thì dùng C làm thế nào nhỉ?

mtt333
23-12-2005, 19:28
Java, vớ vẩn, ngôn ngữ này cũng chỉ cần một tuần (vì đã biết C#) là viết được chương trình thi trắch nghiệm bằng Swing, dùng MS SQL (phải dùng UTF-8 mới chơi được tiếng Việt) và MySQL. Phải nói là khả năng thiết kế cấu trúc thư viện nền tảng của bọn SUN cực kỳ kém. Hàm gì tên tuổi tùm lum, đổi xoèn xẹt, thua xa anh nhà giàu Bill. Cái gì đổ tiền của để nghiên cứu thì phải đẹp hơn thôi.

Hey a thế nào chứ cấu trúc thư viện của nó ngon đấy chứ, hàm đâu có thay đổi gì xoèn xoẹt đâu.

Hơn nữa Sun cũng phải đổ tiền đồ của vào nghiên cứu đấy chứ có phải là họ ngồi sáng tác ra đâu.

Nhưng dù sao java cũng dần dần lùi vào dĩ vãng rùi:
- Thị trường ứng dụng desktop thì không vươt qua được C, VC, C# về sức mạnh.
- Thị trường ứng dụng web cỡ nhỏ thì không vượt qua được PHP, ... và mới nổi là Ajax về tính dễ lập tình và cũng free.
- Thị trườngứng dụng trong doanh nghiệp cỡ lớn thì vẫn còn khá vì sức mạnh + giá rẻ nhưng mà khó phát triển, trong khi thằng .NET sức mạnh tương đương, dễ lập trình và phát triển nhưng giá cao quá. Nhưng cán cân cũng đang nghiêng dần về phía .NET rùi.

jiSh@n
23-12-2005, 19:45
Còn thị trường di động thì hiện nay ko có đối thủ :D


Java, vớ vẩn, ngôn ngữ này cũng chỉ cần một tuần (vì đã biết C#) là viết được chương trình thi trắch nghiệm bằng Swing, dùng MS SQL (phải dùng UTF-8 mới chơi được tiếng Việt) và MySQL. Phải nói là khả năng thiết kế cấu trúc thư viện nền tảng của bọn SUN cực kỳ kém. Hàm gì tên tuổi tùm lum, đổi xoèn xẹt, thua xa anh nhà giàu Bill. Cái gì đổ tiền của để nghiên cứu thì phải đẹp hơn thôi. Mấy fan Java mà đọc được cái này chắc chửi thảm thương luôn. Tay này chắc cùng lắm chỉ biết đến Core Java nên mới cưa bom như thế. Nếm thử EJB rùi thì chắc chả bao giờ dám mạnh mồm thế này.

C++
23-12-2005, 20:43
Thử xem, thử viết BMP,CMP (công nghệ J2EE) coi thì biết ở đó mà la ó học Java như bỡn, viết bằng notepad hừ

mtt333
23-12-2005, 23:36
Còn thị trường di động thì hiện nay ko có đối thủ :D

Ừh, nhưng chú Bill chắc cũng không chịu ngồi yên đâu.

occutit
24-12-2005, 13:57
.Net Mobile cũng đang phát triển, nhưng có lẽ phải mất một thời gian dài mới có thể đạt được kết quả như J2ME hiện nay.

erafc
24-12-2005, 16:45
Chán nhỉ, cái thằng M$ suốt đời đi sau mà lại sống dai, mấy chú tiên phong thì ko chết yểu cũng sống dặt dẹo, theo nó thì ghét mà theo thằng khác thì chả được hợp thời trang

bienca101
24-12-2005, 17:31
@erafc: Lúc nào chả thế. Tiến hóa nghĩa là vậy mà. Anh phải có cái gì mới đưa ra. Sau đó anh phải tạo được economy of scale. Mấy chú tiên phong làm chuyện thứ I, Microsoft làm chuyện thứ 2. Cả hai bên đều cần đến nhau, chả có gì lạ lẫm cả. :D

@Mọi người khác: khổ quá, cái thread này tồn tại lâu ghê nhỉ? Ngôn ngữ nào không thành vấn đề, công cụ nào không thành vấn đề, chuyện quan trọng là cái đầu của người sử dụng. Lấy ví dụ như cái XML có là cái quái gì đặc biệt đâu, thế nhưng XML lại làm nên vô số chuyện lớn.

Mọi người chỉ ham cãi nhau xem ngôn ngữ nào popular hơn mà thôi. Nếu thế thì chính cái diễn đàn này đã trả lời cho mọi người rồi đấy. Để xem, ngay tại thời điểm tui gõ bài này thì:

- .NET : 10.926 bài viết
- C/C++ : 7.203
- VB : 17.416
- Pascal/Delphi/Kylix: 6.354
- Java : 4.344

Lấy bối cảnh là diễn đàn này tồn tại đã lâu, thành viên đủ mọi thành phần già trẻ lớn bé, đủ mọi ngành nghề. Rõ ràng số bài viết đã là 1 bản thống kê tương đối chính xác về popularity của các ngôn ngữ.

Chấm hết, close cái thread này được chưa nhỉ?

mtt333
25-12-2005, 00:08
Chấm hết, close cái thread này được chưa nhỉ?

Yeah yeah.
Nhưng mà mặc xác thiên hạ đi xếp, xếp hiểu biết nhưng nhiều người chưa biết có tranh cãi nhau mới ra vấn đề.
Nhưng mà có lắm thread kiểu này quá.

Zero
27-12-2005, 16:12
- Thị trường ứng dụng desktop thì không vươt qua được C, VC, C# về sức mạnh.

Vốn kô được nhắm vào Desktop :)



- Thị trường ứng dụng web cỡ nhỏ thì không vượt qua được PHP, ... và mới nổi là Ajax về tính dễ lập tình và cũng free.


Ajax kô phải là 1 ngôn ngữ =)), thêm vào chi phí đắt đỏ nên Java kô được dùng là chuyện thường



- Thị trườngứng dụng trong doanh nghiệp cỡ lớn thì vẫn còn khá vì sức mạnh + giá rẻ nhưng mà khó phát triển, trong khi thằng .NET sức mạnh tương đương, dễ lập trình và phát triển nhưng giá cao quá. Nhưng cán cân cũng đang nghiêng dần về phía .NET rùi.

:D Java rẻ , .NET đắt chúa ơi. Chỉ thấy các bác dùng Java kêu đắt nên chuyển sang .NET chưa thấy ai dùng .NET kêu đắt chuyển sang Java :D.

Java rẻ =)) :)) :D chết vì cười mất :D

Khó phát triển ? :D Eclipse, WebSphere là 1 trong những môi trường pt xịn nhất thế giới.

Hài hước quá =))

mtt333
27-12-2005, 22:32
:D Java rẻ , .NET đắt chúa ơi. Chỉ thấy các bác dùng Java kêu đắt nên chuyển sang .NET chưa thấy ai dùng .NET kêu đắt chuyển sang Java :D.

Hehe, tại vì bác cứ dùng chùa chứ nếu sản xuất trong môi trường xí nghiệp thực sự bác không thể dùng chừa được, tiền mua bộ .NET không phải là rẻ đâu. Còn java chẳng phải mất đồng nào cả, kể cả cho eclipse.

Và cứ thử hỏi bất kỳ ai đang lập trình .NET xem , cái nào dễ lập trình và phát triển hơn.

Nói thật cũng chưa thấy ai kêu java đắt vì thwcj sự có ai phải bỏ tiền ra mua đâu, và ở Việt Nam .NET cũng chẳng đắt vì có ai bỏ tiền ra mua nó đâu, chỉ thấy kêu là khó nhai thôi.

Và nếu bác cho rằng đắt ở đây là đắt về chi phí và thời gian sản xuất thì lại mẫu thuẫn với câu khẳng định của bác: eclispe là môi trường pt xịn nhất TG để phủ định câu của em là Java khó phát triển hơn .NET. Vì khó phát triển hơn thì đương nhiên chi phí sản xuất sẽ cao hơn chưa tính tiền mua bản quyền.

Zero
28-12-2005, 10:43
Hehe, tại vì bác cứ dùng chùa chứ nếu sản xuất trong môi trường xí nghiệp thực sự bác không thể dùng chừa được, tiền mua bộ .NET không phải là rẻ đâu. Còn java chẳng phải mất đồng nào cả, kể cả cho eclipse.

^o^ Đấy là về phía lập trình viên thôi bạn ạ ;)) Khi Deploy thi` còn bao nhiêu thứ khác nữa chứ, mấy cái này rẻ lắm, WebSphere bản Pro chẳng hạn có $80 K/1 CPU thôi :), 100 CPU thì mới có $8M mà =)). IBM mất rất nhiều khách hàng vì vấn đề đắt đỏ đấy.

Chưa kể DB2 hay SQL Server :emlaugh:


Và cứ thử hỏi bất kỳ ai đang lập trình .NET xem , cái nào dễ lập trình và phát triển hơn.

Vấn đề là làm j =)), mà tớ là đệ tử ruột của MS đấy - hàng .NET nắm còn sâu hơn Java



Nói thật cũng chưa thấy ai kêu java đắt vì thwcj sự có ai phải bỏ tiền ra mua đâu, và ở Việt Nam .NET cũng chẳng đắt vì có ai bỏ tiền ra mua nó đâu, chỉ thấy kêu là khó nhai thôi.


Cũng như cái trên thôi =))

mtt333
28-12-2005, 22:41
^o^ Đấy là về phía lập trình viên thôi bạn ạ ;)) Khi Deploy thi` còn bao nhiêu thứ khác nữa chứ, mấy cái này rẻ lắm, WebSphere bản Pro chẳng hạn có $80 K/1 CPU thôi :), 100 CPU thì mới có $8M mà =)). IBM mất rất nhiều khách hàng vì vấn đề đắt đỏ đấy.

Chưa kể DB2 hay SQL Server :emlaugh:


Tại sao cứ java là phải đi với DB2, SQL Server và WebSphere
Chẳng nhẽ.NET không cần SQLServer hay Oracle và một cái gì đó tương tự như WebSphere. Ngoài ra .NET buộc bạn phải gắn chặt với việc mua cả Window nựa
theo mình chi phí deploy của 2 thằng là như nhau thui

Còn về việc cái nào khó phát triển hơn thì mỗi người có quan điểm riêng theo thói quen thui nên tranh luận chắc chỉ mất thời gian. Nếu có điều kiện mong bạn cùng mình tham khảo theo số đôngđể xem mọi người nói thế nào, chỉ là để cho biết xu thế chung, không vì để khẳng định ai đúng ai sai trong chuyện này.

Zero
29-12-2005, 11:36
Số đông thì khó nói lắm nhất là ở VN mình :)

Pt thì nói rùi tùy vào bạn làm j, ứng dụng nhẹ thì .NET có thể pt rất nhanh tuy nhiên ứng dụng lớn (cỡ 1-2K class) thì ^^ Mình cảm giác .NET vẫn mang tính mì ăn liền nhiều quá, khó can thiệp sâu vào nền, khó customize.

Java tất nhiên kô cần đi với WebSphere, DB2 ^^ nhưng mà mình thường thấy thế (ở cấp độ xí nghiệp như bạn nói ;)) cũng như bạn làm .NET thì sẽ hay đi với SharePoint, Exchange, BizTalk, K2, AD rite ;)

Sorry cười hơi nhiều :D vì mình đang tham gia 1 dự án khách hàng của IBM chuyển sang .NET (họ có lựa chọn chuyển sang WebSphere ^^) vì tiền bản quyền + maintain của IBM quá cao :). Với lại khi đọc các so sánh giữa .NET và Java thấy MS toàn tự hào là .NET deploy rẻ hơn thôi :) thấy bạn nói Java rẻ hơn .NET nên mới thấy lạ ^_^

khaplienhoa
29-12-2005, 13:16
Hey a thế nào chứ cấu trúc thư viện của nó ngon đấy chứ, hàm đâu có thay đổi gì xoèn xoẹt đâu.Ài, là em nói là rất nhiều hàm có chức năng tương tự nhau, rất nhiều hàm bị bỏ rơi. Điều này thể hiện SUN đã đầu tư không đúng mức vào Java khi dự án này được triển khai. Nhưng cái này chắc em cũng xem lại, vì .NET 2.0 cũng có nhiều sự thay đổi đáng kể. Nhưng ít bỏ rơi hàm hơn.


Mấy fan Java mà đọc được cái này chắc chửi thảm thương luôn. Tay này chắc cùng lắm chỉ biết đến Core Java nên mới cưa bom như thế. Nếm thử EJB rùi thì chắc chả bao giờ dám mạnh mồm thế này.
Java, vớ vẩn, ngôn ngữ này cũng chỉ cần một tuần.Bác nói khẽ chứ, em đã bold lên rồi để các bác đỡ hiểu lầm mà lị, em nói ngôn ngữ thì rõ ràng chỉ nói CORE. Tinh thần của một ngôn ngữ là nằm ở cái core của nó. Còn những phần mở rộng mang tính thư viện thì đứng nói JAVA, bất kỳ ngôn ngữ nào cũng không đơn giản, vì ngôn ngữ phục vụ cho nhiều mục đích khác nhau. Nói ra các bác đừng chê cười, em viết cho Java mới có dùng hai thư viện Swing và Aglet mà thôi. Em là thần dân của C dành cho handheld và Linux.


Thử xem, thử viết BMP,CMP (công nghệ J2EE) coi thì biết ở đó mà la ó học Java như bỡn, viết bằng notepad hừ
Bí quyết để học ngôn ngữ nhanh thì bắt đầu bằng notepad.Sử dụng công nghệ, sự khác nhau của kinh nghiệm chính là biết sử dụng thư viện nào phù hợp. Khi viết bằng notepad thì bản thân nó bắt chúng ta phải thuộc tên hàm rất rõ, mất thời gian ban đầu nhưng sẽ nhớ lâu. Đó là học, còn làm thì chúng ta phải giảm thiểu tối đa thời gian để tạo ra đoạn mã, thời gian là vàng bạc mà.


C hiện thực tính kế thừa như thế nào vậy? Đa hình còn có overload, override thì dùng C làm thế nào nhỉ?

struct A {
type a1;
type a2;
};
struct B {
type a1;
type a2;
type b;
};
Đó là cách để cài đặt kế thừa trong C. Khi dùng các function dành cho A trên B thì nó chỉ có thể tác động lên a1, a2, vì khi đó B được ép kiểu sang A. overload, override chỉ là khái niệm ở mức trừu tượng, vì khi biên dịch trình biên dịch sẽ biến dùng hàm nào phù hợp. Vì khi nhìn ở khái niệm ngôn ngữ máy (C và C++ biên dịch ra native code) thì chỉ có hai cách gọi hàm, là gọi ở địa chỉ cố định và gọi động bằng giá trị con trỏ.

Mỗi ngôn ngữ được phác thảo ra vì mục đích riêng, muốn nắm rõ ngôn ngữ thì phải nắm rõ cách hoạt động của trình biên dịch, và mã sau biên dịch. Bất kỳ chương trình C++ nào cũng có thể biến thành C. Và bất kỳ thư viện C++ nào sau biên dịch cũng có thể dùng C để gọi cả, điển hình nhất là công nghệ OLE, COM.

Hi hi, bài viết trên của em hơi có mùi khói, biết ngay thế nào các bác cũng nhảy vào mà. Em chỉ nói về ngôn ngữ muốn các bác nào mới học biết rõ vai trò của ngôn ngữ, đừng quá đề cao ngôn ngữ mà thôi, em không muốn đề cập thư viện đi kèm vì thư viện thì luôn phát triển, bồi đắp thêm, học cả đời cũng chưa chắc học hết thư viện. Các bác lại cứ mang những thư viện khủng bố ra nẹt em, em cãi làm sao được.


Chấm hết, close cái thread này được chưa nhỉ?Để cãi nhau cho vui, close làm gì, chứ đọc mấy bài như làm sao? bắt đầu? xin giúp em chương trình này? viết mã ra sao? thấy chán, mà cũng chẳng có ai trả lời.

Quái, sao em cứ post một post mời thì nó lại add thêm vào post cũ nhỉ.

Zero
29-12-2005, 15:24
Học ngôn ngữ kô thì còn nói làm j bạn ? nhất là ngôn ngữ có cùng họ với nhau (C, C++, C#, Java) Ngôn ngữ mới chỉ là bước rất cơ bản mà thôi, thường thì so sánh các công nghệ, kiến trúc hơn là đi so sánh ngôn ngữ riêng vì bản thân ngôn ngữ sẽ ảnh hưởng đến cách mà công nghệ được implement.



Khi viết bằng notepad thì bản thân nó bắt chúng ta phải thuộc tên hàm rất rõ, mất thời gian ban đầu nhưng sẽ nhớ lâu.


Việc dùng 1 IDE tốt sẽ tiết kiêm thời gian hơn nhiều bất kể là học hay làm, vả lại khi số lượng class quá lớn như hiện nay việc nhớ được tên namespace, class đã là quá tốt rồi, nhớ thêm tên hàm thì hết chỗ chứa ^_^



Mỗi ngôn ngữ được phác thảo ra vì mục đích riêng, muốn nắm rõ ngôn ngữ thì phải nắm rõ cách hoạt động của trình biên dịch, và mã sau biên dịch.


Kô đúng vd SQL hay C#, Java qua nhiều lần biên dịch mới đến cấp mã máy kô thể và cũng kô cần hiểu. Cái cần hiểu là cái logic đằng sau đoạn code đó.



Bất kỳ chương trình C++ nào cũng có thể biến thành C. Và bất kỳ thư viện C++ nào sau biên dịch cũng có thể dùng C để gọi cả, điển hình nhất là công nghệ OLE, COM


Chỉ khác nhau là bao nhiêu dòng code thui ^_^



overload, override chỉ là khái niệm ở mức trừu tượng, vì khi biên dịch trình biên dịch sẽ biến dùng hàm nào phù hợp. Vì khi nhìn ở khái niệm ngôn ngữ máy (C và C++ biên dịch ra native code) thì chỉ có hai cách gọi hàm, là gọi ở địa chỉ cố định và gọi động bằng giá trị con trỏ.


Câu này thì tương đương với bất "kỳ ngôn ngữ nào rồi cũng ra mã máy --> chỉ dùng mã máy là được rồi, C, C++ làm chi cho mệt ^_^"

Tự thêm vào post trước là do forum nó check bài ngay trước đó là của ai ấy mà :)

lytamhoana6cntt
15-01-2006, 22:23
Spam cái chơi (vì nó cũng là cái chợ roài)
thời buổi cái gì cũng đòi $ mà. Tui nghĩ viết hết bằng Assembler là okey nhất. Chẳng ku nào dám đòi bản quyền.
Chạy thì không dám nói là nhanh mà là cực nhanh luôn

ndt1983
16-02-2006, 16:30
nếu tôi muốn viết 1 phần mềm liên quan đến xây dựng, theo các bạn nên dùng ngôn ngữ nào là tốt nhất?
xin cảm ơn các bạn.
Trước tôi thấy công ty Hòa Hợp toàn dùng C++ để viết mấy cái phần mềm về xây dựng

lytamhoana6cntt
16-02-2006, 16:33
Hòa Hợp hay Hài Hòa :D

happyface
17-02-2006, 13:27
chủ đề này kô nên thảo luận. Ai giỏi ngôn ngữ nào thì làm bằng ngôn ngữ đó