2009-03-13 29 views
8

Nhiều ngôn ngữ lập trình tự giới thiệu với chương trình "Hello World" đơn giản.Bản xem trước giới thiệu ngôn ngữ tốt hơn so với "Hello World" là gì?

Là một lập trình viên, tôi phải thừa nhận rằng điều này không cung cấp cái nhìn sâu sắc rất tốt về sức mạnh và khả năng của ngôn ngữ.

Bạn sẽ đề xuất loại vấn đề gì khi cung cấp bản trình diễn ngôn ngữ lập trình?

+1

Một câu hỏi hay. Ví dụ như vậy cũng có thể hoạt động như một hướng dẫn cho ngôn ngữ. Tôi thường xuyên thất vọng khi cố gắng học các ngôn ngữ mới, khi các hướng dẫn có khuynh hướng giả định rằng người đọc không có kiến ​​thức lập trình trước đó chút nào. Tôi chỉ muốn có một bộ sưu tập các giải pháp thành ngữ. – TrayMan

Trả lời

14

Tôi nghĩ chương trình "Hello World" có các ứng dụng của nó. Nó nói lên rất nhiều nếu bạn có thể chạy chương trình:

  • Bạn có IDE của bạn/Công cụ thiết lập một cách chính xác
  • Bạn có thể viết một lớp và hay phương pháp chính trong ngôn ngữ đó
  • Bạn có thể gọi một hàm trong đó ngôn ngữ để in
  • Bạn có thể chỉnh sửa tệp và định dạng tệp chính xác cho ngôn ngữ đó
  • Trình biên dịch của bạn đang hoạt động và bạn biết cách sử dụng nó.

Vì vậy, vì những lý do đó, tôi không tìm thấy giải pháp thay thế nào tốt hơn cho "Hello World".

Tuy nhiên, về mặt giới thiệu tốt về ngôn ngữ nói chung, tôi là người hâm mộ lớn về các thách thức mã hóa như Python Challenge. Bạn được cung cấp một bộ thử thách/câu đố mà bạn phải hoàn thành với ngôn ngữ. Chúng bắt đầu cực kỳ cơ bản (cái đầu tiên dễ hơn viết một thế giới hello).

Chúng nhanh chóng tiến triển thành các tác vụ khó khăn và nâng cao hơn, và thường là các tác vụ nhằm thể hiện một khía cạnh cụ thể của ngôn ngữ.

Tôi chỉ mong mọi ngôn ngữ đều có thử thách lập trình thú vị như vậy. Tôi nghĩ rằng một LISP, Haskell, C++, C, Java, vv Thách thức sẽ là một giới thiệu thú vị cho các ngôn ngữ cho mọi người. Chúng có thể được điều chỉnh theo ngôn ngữ. Thách thức C++ có thể nhanh chóng bắt đầu có những thách thức liên quan đến con trỏ và các khía cạnh thường bị hiểu lầm khác giúp lái xe về nhà những khó khăn trong khi các thách thức LISP/Haskell có thể bắt đầu đặt một số câu hỏi phù hợp hơn với ngôn ngữ chức năng.

+0

Bạn luôn có thể tự do điều chỉnh thử thách với bất kỳ ngôn ngữ nào khác. Chỉ có nghĩa là bạn sẽ có ít nắm tay và một số gợi ý sẽ không hoạt động tốt: P –

+0

@ X-Istence, nhiều thách thức có nghĩa là thể hiện một tính năng của Python.Vì vậy, có, bạn có thể hoàn thành tất cả nhưng thách thức 5 và 23 với một ngôn ngữ khác. Tuy nhiên, nó sẽ không có tác dụng tương tự. – mmcdole

+0

Cảm ơn bạn đã liên kết đến Thử thách Python! – onnodb

3

IMHO, mục đích của chương trình hello world là hiển thị một chương trình rất đơn giản bằng ngôn ngữ đó, chứ không phải để thể hiện thế mạnh và khả năng.

Sẽ rất khó vì mỗi ngôn ngữ đều có điểm mạnh riêng. So sánh một tập hợp các chức năng tiêu chuẩn cho mỗi ngôn ngữ có thể yêu cầu sự cố, đặc biệt là đối với sách giới thiệu.

0

Phụ thuộc vào tính năng cốt lõi của ngôn ngữ đặt nó ngoài các ngôn ngữ khác ra khỏi đó. Haskell quicksort comes to mind.

Với điều đó đã nói, xin chào thế giới hiện cho biết cách sản xuất ngay lập tức một số loại đầu ra.

0

Cá nhân khi tôi bắt đầu bằng ngôn ngữ lập trình mới, tôi cố gắng viết lại một đoạn mã mà tôi đã viết bằng một ngôn ngữ khác để tôi có thể cảm nhận ngôn ngữ và xem nó liên quan như thế nào những gì tôi đã học được trong những kinh nghiệm lập trình trước đây của tôi.

Mọi người đề xuất lập trình các công cụ đơn giản như cây tìm kiếm nhị phân và các cấu trúc dữ liệu khác cùng với cách đơn giản để kiểm tra xem nó có hoạt động hay không. Một điều nữa là không từ bỏ ngôn ngữ lập trình khi mọi thứ bắt đầu trở nên phức tạp hoặc không phù hợp với kinh nghiệm trước đó của bạn.

Để tìm kiếm điểm mạnh trong ngôn ngữ lập trình? Vâng, bắt đầu bằng cách viết một ứng dụng nhỏ và sau đó một khi bạn có một cảm giác cho ngôn ngữ nhìn vào các dự án nguồn mở được viết bằng ngôn ngữ này. Xem những gì nó làm rất tốt, nhìn vào danh sách gửi thư phát hiện ra nơi mà các bộ phận khó khăn đã được cho dự án đó, nơi họ đã phải làm việc xung quanh một số phong cách riêng trong ngôn ngữ gây ra vấn đề.

Một số ngôn ngữ nhất định mà bạn biết ngay lập tức mà chúng có ý nghĩa đối với một tác vụ nhất định và không sử dụng chúng ngoài nhiệm vụ đó. Ví dụ, PHP là một ngôn ngữ lập trình web, thực tế là bạn có thể viết các chương trình lớn trong đó và chạy chúng trên dòng lệnh không có nghĩa là nó là một ngôn ngữ nên được sử dụng cho các tác vụ đó.

5

Nếu bạn đang lo lắng về phạm vi của một chương trình "hello world", bạn luôn có thể nâng cấp lên "hello vũ trụ"

2

"99 chai bia" là một ví dụ hơi tham gia nhiều hơn so với "Hello world", vì vậy nó có thể hiển thị những điều mà phân biệt một ngôn ngữ từ những người khác .

Khám phá http://99-bottles-of-beer.net/.

0

Tôi đã rất ấn tượng với sự lựa chọn của Bjarne Stroustrup để tạo ra một máy tính khá mạnh mẽ, bao gồm phân tích cú pháp. Tôi hy vọng rằng nó sẽ là quá khó khăn như là một dự án đầu tiên, nhưng ông đã làm một công việc tuyệt vời từng bước. Và ứng dụng cuối cùng không phải là đồ chơi.

Tất cả trong cuốn sách mới của mình, Nguyên tắc lập trình và thực hành trong C++.

0

Tôi có một số trường hợp "Hello world" có thể không tầm thường. Xem ví dụ Struts 2 "Hello world". Để có nó hoạt động, bạn cần phải thiết lập máy chủ, thiết lập môi trường, ứng dụng của bạn được triển khai, v.v.

0

Vâng "blinky" là một lựa chọn tốt, nhưng đó là nhiều hơn trong thế giới được nhúng ...

Đối với bạn, những người đã bỏ lỡ thời gian blinky, chỉ để có đèn LED nhấp nháy ở tốc độ ổn định. Loại chương trình làm thế nào để làm việc với gpio.

/Johan

Các vấn đề liên quan