Системное программирование - какой язык? - PullRequest
1 голос
/ 09 мая 2011

У меня есть несколько вопросов по поводу системного программирования.

  1. Можно ли использовать Python как для Web, так и для System, как Perl.
  2. Какой язык вы бы предпочли мне.Я немного знаком с JavaScript и Java.
  3. Если я хочу разработать компилятор, что я должен знать и с чего начать.

Ответы [ 3 ]

3 голосов
/ 09 мая 2011
  1. Да.

  2. Используйте язык, который используют люди вокруг вас.

  3. Вы должны знать о лексировании, разборе, таблицах символов, абстрактных синтаксических деревьях, оптимизации, промежуточных языках, архитектурах на основе стеков и регистров, генерации кода, форматах объектных файлов, компоновщиках, загрузчиках и т. Д. много ресурсов, доступных в других вопросах о сборке компиляторов здесь на Переполнении стека.

2 голосов
/ 09 мая 2011

Ну, я бы определенно пошел с Python.Это отличный язык практически для всего, особенно подходит для веб-разработки / разработки систем.Изучение Python было лучшим, что я когда-либо делал.Я использовал Java / PHP в течение нескольких лет, и я никогда не оглядываюсь назад.Я достиг более высокого уровня компетенции, быстрее с Python, чем любой другой язык, который я пытался выучить.

Что касается разработки компиляторов, вы будете в хорошей компании с PyPy ребята, так что это еще одна причина для изучения языка.PyPy - это и быстрая реализация интерпретатора Python (с JIT), и усовершенствованный компилятор / фреймворк для реализации динамических языков.

1 голос
/ 09 мая 2011

обязательно BASH и один полнофункциональный язык сценариев. Я предпочитаю Perl, но это зависит от вас.

для 3.) Вам следует изучить bison или yacc, lex и / или любые другие грамматические парсеры (компиляторы-компиляторы).

...