Я считаю, что настоящий программист должен относиться к программированию не как к науке, а как к средству для решения конкретных задач в определённой предметной области, как к инструменту для моделирования. Само же программирование ради программирования, ради написания кучи кода (пусть даже красивого, с элегантной архитектурой) - как-то мелочно и глупо. Нужно решать реальные задачи, а не выдумывать чисто алгоритмические (как игра "жизнь", например).
Да, есть правда в этих словах. Однако, хотел бы заметить, что для того, чтобы эффективно решать конкретные задачи (действительно эффективно), нужно иметь определенный программистский и математический кругозор, который в свою очередь и развивается на довольно абстрактных задачах порой.
Интересно, много можно насчитать программистов, написавших собственный компилятор? В самом лучшем случае программист работал в коллективе, который энтот пресловутый компилятор создавал.
Справедливое замечание. Действительно, не так много программистов когда либо это писало.
Но во-первых, думаю, что хорошие программисты такими знаниями обладают и смогут реализовать такую задачу(т.е. сделать интерпретатор языка), если в ней возникнет необходимость, во-вторых, если вы не в курсе, то на таких факультетах как ВМК/ПМК/ПМПУ, итд, есть специальный курс "Языки программирования и методы трансляции", где каждый студент пишет свой компилятор, поэтому это не такая уж редкость, как может казаться.
Цитата:
И вообще, странная логика. В таком случае настоящий шахтёр - это тот, кто самостоятельно выкопал шахту.
Это философия, а не логика. Вы можете с ней соглашаться или не соглашаться, но вот я (магистр computer science), для себя определил именно так. Программирование - это понимание. Если человек не понимает, как работает компилятор его языка, то он в меньшей степени понимает программирование, а значит в меньшей степени может считаться настоящим программистом.
Что касается вашей аналогии про шахтера, то ее конструкция просто неверна. Шахта не является инструментом шахтера в том смысле, в котором язык программирования (или его интерпретатор) является инструментом программиста. Кроме того, создание шахты не является результатом работы только одного лишь шахтера. Довольно сложно проводить аналогии между реалиями реального мира и абстракциями, имеющими смысл только внутри компьютера (ну или внутри человеческого мозга, это уж как вам будет угодно)