2010-04-08 29 views
8

Tôi đã tạo một ngôn ngữ lập trình đồ chơi thử nghiệm với một thông dịch viên làm việc (hiện tại). Đó là turing-hoàn thành và có một bộ hướng dẫn khá thấp cấp.Bạn có thể giúp tôi nghĩ về các vấn đề đối với ngôn ngữ lập trình của tôi không?

Thậm chí nếu mọi thứ mất từ ​​4 đến 6 lần mã và thời gian hơn PHP, Python hoặc Ruby, tôi vẫn yêu thích lập trình mọi thứ trong đó.

Vì vậy, tôi có những "cơ bản" những điều được viết bằng nhiều ngôn ngữ làm việc:

  • Hello World
  • Input -> Output
  • Đếm ngược (không dễ dàng như bạn nghĩ như không có vòng)
  • thừa
  • mảng thi đua
  • 99 Chai bia (đơn giản, sai uốn)
  • 99 Chai Bia (kinh điển)
  • Collatz phỏng đoán

  • Quine (đó là một niềm vui!)

  • BrainF * ck thông dịch viên (Để chứng minh Turing-đầy đủ, khiến tôi hạnh phúc)

vì vậy, tôi thực hiện tất cả các ví dụ trên vì:

  • Tất cả họ đều sử dụng nhiều differen t khía cạnh của ngôn ngữ
  • Họ là khá thú vị
  • Họ không mất thời gian để viết

Bây giờ vấn đề của tôi là: Tôi đã chạy ra khỏi ý tưởng! Tôi không tìm thấy thêm bất kỳ ví dụ nào về những vấn đề tôi có thể giải quyết bằng ngôn ngữ của mình.

  • Bạn có bất kỳ vấn đề về lập trình nào phù hợp với một số tiêu chí ở trên để tôi rèn luyện không?
+0

Bạn có thể nhận thêm một số câu trả lời nếu bạn sửa đổi tiêu đề của mình thành mô tả tốt hơn về những gì bạn đang yêu cầu. Có lẽ một cái gì đó như "Bạn có thể giúp tôi nghĩ về các vấn đề đối với ngôn ngữ lập trình của tôi không?" –

+0

"Giả thuyết Conjatz", ý của bạn không phải là "phỏng đoán Collatz", http://en.wikipedia.org/wiki/Collatz_conjecture? – Pindatjuh

+0

@Pindatjuh: Đã sửa lỗi –

Trả lời

1

Thay vì làm nhiều thứ hơn trong ngôn ngữ đồ chơi đó, tôi sẽ suy nghĩ kỹ về việc triển khai một ngôn ngữ hoàn chỉnh và hữu ích hơn. Đặc biệt, dành thời gian suy nghĩ về những điều bạn không thích về các ngôn ngữ khác và xem bạn có thể cải thiện chúng không.

2

thử triển khai các loại sắp xếp và tìm kiếm khác nhau, sử dụng mảng và sau đó là con trỏ.

Sorting Algorithm
Search Algorithm

+0

thực hiện điều này thật thú vị ở trường trung học, cũng như vậy; -o –

2

Something đệ quy có lẽ?

Tôi có hai số toylanguages của riêng mình. Tôi đã làm một số những gì bạn mô tả. Một điều khác tôi đã làm là cố gắng in ra Fibonacci Sequence. Một điều nữa bạn có thể làm là viết chương trình kiểm tra xem một số có phải là số nguyên tố hay không.

Bạn có liên kết tới ngôn ngữ của mình không? Tôi muốn kiểm tra nó!

+0

Tôi chưa tạo bất kỳ sự hiện diện web nào, tuy nhiên, tôi dự định làm như vậy. Tôi sẽ cố gắng để thông báo cho bạn nếu tôi làm :) –

0

Sau khi bạn kết thúc với việc viết một loạt các ứng dụng ngắn nó có thể là thú vị để viết một máy chủ đơn giản. Rất nhiều chủ đề xuất hiện với các máy chủ sẽ giúp bạn xác định xem ngôn ngữ của bạn có thể giải quyết những thứ như UDP/TCP, luồng, hàng đợi, bảo mật, v.v.

+0

Tôi sẽ không tư vấn cho một ngôn ngữ đồ chơi. Nó rất cụ thể về miền và nó không giúp bạn thêm các tính năng ngôn ngữ. – Pindatjuh

+0

@pindatjuh: Tôi kính trọng không đồng ý. Tôi thực sự nghĩ rằng sẽ có một số lượng lớn các tính năng có thể được tạo ra trong quá trình tạo ra một máy chủ đồ chơi (lưu ý - không dành cho bất kỳ máy chủ sản xuất thực sự thổi đầy đủ). Chỉ cần ra khỏi đỉnh đầu của tôi, các nhà phát triển có thể thêm hỗ trợ cho i/o, luồng, cấu trúc dữ liệu, vv Tất cả chỉ phụ thuộc vào cách xa con đường này anh/cô ấy muốn đi. Tôi đồng ý rằng nó có thể là một chút nhiều, nhưng nó sẽ giúp anh ta/cô ấy tìm hiểu tất cả các vấn đề mà đến với tất cả những thứ cấp thấp. – Adam

0

Kiểm tra trang web RubyQuiz. Rất nhiều điều ngớ ngẩn bạn có thể làm để kiểm tra ngôn ngữ của bạn.

0

Bạn có thể thêm hỗ trợ cho arbitrary precision arithmetic bằng cách viết nó làm mô-đun cho ngôn ngữ của bạn bằng ngôn ngữ của bạn hoặc như một cấu trúc ngôn ngữ hạng nhất.

3

Triển khai trình biên dịch (cho bất kỳ ngôn ngữ nào bạn biết) cho ngôn ngữ của bạn, bằng chính ngôn ngữ đó.

+0

Mặc dù đòi hỏi rất nhiều sự hiểu biết và nếu ngôn ngữ không dễ dàng compilable, sau đó nó không thành công "Họ không mất nhiều giờ để viết". – Pindatjuh

+1

Họ __do__ mất hàng giờ để viết, trừ khi các ngôn ngữ rất đơn giản. –

+0

Ồ, tôi thực sự đã bỏ lỡ một phần yêu cầu của áp phích. Cho phép hy vọng đó là một ngôn ngữ thực sự đơn giản sau đó (hoặc poster của một thách thức lớn hơn) :) – Jakob

4

Hãy thử mọi thứ từ Project Euler - những câu đố này luôn tốt để thử nghiệm các ngôn ngữ mới.

1

Bạn có thể xem xét triển khai các thử nghiệm cho "Shootout".

0

Cố gắng triển khai thực tế. Ví dụ như ứng dụng thư dựa trên web. Làm nhiệm vụ trừu tượng chỉ là khoe khoang.

0

Cấu trúc và thuật toán dữ liệu chuẩn tắc như thế nào? Hoặc bán kinh điển? Đối với ý định, tôi luôn luôn muốn thực hiện mảng kết hợp dựa trên cơ số trix. Trông vui.

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