Stich:
А теперь выслушаем начальника транспортного цеха!(с)
Java & C# & (PL/SQL or T-SQL)
С++ остался востребованным для очень узкого круга задач, либо для поддержки существующего софта (нудное выковыривание багов) .
Про Delphi можно вообще не вспоминать, ибо никому не нужна.
Кнут, несомненно, вещь полезная, однако ж существуют стандартные библиотеки, в которых описанные им алгоритмы реализованы. Если охота поизобретать велосипеды с квадратными колесами, то пожалуйста
С точки зрения что учить - вариантов много. Если просто так для себя любимого побаловать, то без разницы. Если для работы, то надо ж понимать за что платят деньги.
HTML - вообще не программирование.
PHP - низкий порог вхождения, но денег там особо нет, и жизнь сведется к копанию в чужом говнокоде идиотских вебсайтов. Я б не стал тратить время на.
С++/C#/Objective-C - трудно выучить, но денег там есть. Впрочем, чтобы заработать, нужно таки достичь весьма годного уровня. Как второй язык пойдет.
Java - мэйнстрим, однозначно стоит заниматься изучением. Но, после Python.
SQL - однозначно знать и учить.
Python/Ruby - Денег там есть, есть и реальная интересная работа.
Go/Rust - не для начинающих.
Assembler/C/Haskel/Erlang/Tcl - вообще не надо.
Perl - если хочется в мир жырного Энтерпрайза, где мэйнфреймы и коммерческие юниксы AIX, HP-UX, Solaris, то необходим Perl (и Java). Я время от времени пишу поделки на Perl, ибо в этом мире и живу. Хотя каждый раз тошнит. Я бы предпочел Python, но его там нет.
Что учить первым языком? Однозначно Python. Синтаксис прост, дисциплинирует мозги, приучает к хорошему стилю. Хотя и на Python можно делать негодный говнокод. Насчет Кнута идея хорошая, но осилит его не всякий, я б советовал начинать с чего попроще. В интернетах полно курсов для начинающих по Python с заданиями и ответами.
Также стоит изучить XML и всё, что вокруг XML-ных технологий. Без понимания этого зверя в современном программировании делать нечего.
Самое главное, если охота программировать - надо программировать. Это как с музыкой - каждый день по 8 часов. И тогда будет толк.
Как альтернативу, можно взять Sublime Text с большим количеством плагинов и подстроить под свои запросы. Сравнивать не возьмусь, изначально взял ST.
Ответ для lizard:
lizard:
С точки зрения что учить - вариантов много. Если просто так для себя любимого побаловать, то без разницы. Если для работы, то надо ж понимать за что платят деньги.
HTML - вообще не программирование.
PHP - низкий порог вхождения, но денег там особо нет, и жизнь сведется к копанию в чужом говнокоде идиотских вебсайтов. Я б не стал тратить время на.
С++/C#/Objective-C - трудно выучить, но денег там есть. Впрочем, чтобы заработать, нужно таки достичь весьма годного уровня. Как второй язык пойдет.
Java - мэйнстрим, однозначно стоит заниматься изучением. Но, после Python.
SQL - однозначно знать и учить.
Python/Ruby - Денег там есть, есть и реальная интересная работа.
Go/Rust - не для начинающих.
Assembler/C/Haskel/Erlang/Tcl - вообще не надо.
Perl - если хочется в мир жырного Энтерпрайза, где мэйнфреймы и коммерческие юниксы AIX, HP-UX, Solaris, то необходим Perl (и Java). Я время от времени пишу поделки на Perl, ибо в этом мире и живу. Хотя каждый раз тошнит. Я бы предпочел Python, но его там нет.
А Javascript? Хороший "верстак" со знанием JS имеет вариант быть неплохо оплачиваемым. Хотя фронтендом JS не ограничено, но тема о начальных шагах
Казак:
Как альтернативу, можно взять Sublime Text с большим количеством плагинов и подстроить под свои запросы. Сравнивать не возьмусь, изначально взял ST.
Можно. Для меня, тупого, в IDE основная вещь - это дебагер. В Komodo он есть, в остальных IDE я так и не понял, как с ним бороться. Надо сказать, и не разбирался, чистое программирование - это у меня не основная работа. Что сразу заработало, то и слава б-гу.
Редактор я использую, чтобы по-быстрому что-то исправить. Notepad++ прост, и в этом его главное достоинство. Кроме того, он умеет показывать всякие непечатные символы, форматировать строки... Частенько приходиться ковыряться в дампах. ST - это редактор, а не IDE, и при этом сложен и тормознут, так что приходится мучить себя плагинами, конфигурациями и прочим, тратить на это время, а дебагера всё равно нет. Я его ставил, даже использовал, но N++ всё равно победил в итоге.
Можно ещё тратить время на извращения с vim и emacs. Но мне лень, и я тупой.
Выучиться самому можно и получше чем при многих подготовках в вузах. Но для начала важно определиться какого уровня программистом вы хотите стать и правильно ставить себе цели и задачи. И важнее начинать свое обучение не с конкретного языка, а с основ. С основ информатики. Научить программить можно и обезьяну, но сможет ли эта обезьяна выдать решение незнакомой задачи не зная как в на диске или оперативной памяти хранится информация, не говоря уже о представлении чисел в различных системах счисления? Отсюда ступоры и быдлокод в решениях.
Так же, знание теории можно спокойно умножить на ноль без практики. Поэтому есть смысл поучаствовать в каком-нибудь Open Source проекте или подумать о своем чтобы поставить это целью и получить хорошую практику. Очень хорошая практика - изучение чужого исходного кода. К слову о инструментах - если посмотреть на чем пишут открытый исходный код, то вопросы о языках программирования отпадут сами собой. Вопреки многим мнениям в этой теме, основные проекты написаны на С/C++, причем как старое так и новое ПО, до сих пор пишется именно на Си, в стилях кодировки "старой" школы и даже если и С++, то далеко не всегда с использованием объектно-ориентированного подхода, чаще достаточно процедурного. Возьмите и посмотрите исходники последних ядер того же Linux, а так же всех основных популярных сервисов. Там очень многому можно научиться. Есть проекты и на других языках, Java из-за кроссплатформенности и т.д., а так же интерпретируемых типа Python-a, но уровень и области решаемых на них задач значительно отличается. Основной минус этих языков - большие ресурсозатраты и скорость выполнения.
Касаемо же задач реального времени, где быстродействие, надежность, время доставки и обработки информации является критичным, вообще не обойтись без Си и Ассемблера и быдлокод с одной ошибкой может привести к взрыву котла в котельной, к примеру.
Если же вопрос стоит о области Web-программирования и сайтостроения, то тут своя специфика и не менее ответственная. Нужны знания не только в области языка программирования, а в области безопасности как минимум, ведь ваша ошибка в 90% случаев приведет если не краху сервиса, то к уязвимости, которую рано или поздно обнаружат и проэксплуатируют.
Для программиста "как профессионала" важно научиться в первую очередь выделять возможные события и предусматривать реакцию на них в не зависимо от языка, который является лишь инструментом. Научиться учитывать все возможные ситуации и предусматривать реакцию на них. Язык не важен, они отличаются лишь синтаксисом, а алгоритмы никто не отменял.
В качестве иллюстрации есть старая добрая анекдотина что настоящий программист всегда ставит на ночь рядом два стакана - один полный воды, другой пустой. Зачем? Если пить захочется - первый, а если не захочется - второй.
Господа, да вы просто гуру промышленного программирования... Ну и хрень же насоветовали...
А теперь выслушаем начальника транспортного цеха!(с)
Java & C# & (PL/SQL or T-SQL)
С++ остался востребованным для очень узкого круга задач, либо для поддержки существующего софта (нудное выковыривание багов) .
Про Delphi можно вообще не вспоминать, ибо никому не нужна.
Кнут, несомненно, вещь полезная, однако ж существуют стандартные библиотеки, в которых описанные им алгоритмы реализованы. Если охота поизобретать велосипеды с квадратными колесами, то пожалуйста
Афаик, тут вопрос только в том: отменяет это букварь или нет?
Кнут - это совсем не букварь. Там куча алгоритмов, которые никогда не пригодятся 99,99% программистов. А вообще да, книга полезная.
По твоим способностям уже. Если не понимаешь, не берись за эту сферу, только времени потеряешь.
Также как и игра на биржах.
Спасибо с чего то начинать тоже надо.
С точки зрения что учить - вариантов много. Если просто так для себя любимого побаловать, то без разницы. Если для работы, то надо ж понимать за что платят деньги.
HTML - вообще не программирование.
PHP - низкий порог вхождения, но денег там особо нет, и жизнь сведется к копанию в чужом говнокоде идиотских вебсайтов. Я б не стал тратить время на.
С++/C#/Objective-C - трудно выучить, но денег там есть. Впрочем, чтобы заработать, нужно таки достичь весьма годного уровня. Как второй язык пойдет.
Java - мэйнстрим, однозначно стоит заниматься изучением. Но, после Python.
SQL - однозначно знать и учить.
Python/Ruby - Денег там есть, есть и реальная интересная работа.
Go/Rust - не для начинающих.
Assembler/C/Haskel/Erlang/Tcl - вообще не надо.
Perl - если хочется в мир жырного Энтерпрайза, где мэйнфреймы и коммерческие юниксы AIX, HP-UX, Solaris, то необходим Perl (и Java). Я время от времени пишу поделки на Perl, ибо в этом мире и живу. Хотя каждый раз тошнит. Я бы предпочел Python, но его там нет.
Что учить первым языком? Однозначно Python. Синтаксис прост, дисциплинирует мозги, приучает к хорошему стилю. Хотя и на Python можно делать негодный говнокод. Насчет Кнута идея хорошая, но осилит его не всякий, я б советовал начинать с чего попроще. В интернетах полно курсов для начинающих по Python с заданиями и ответами.
Также стоит изучить XML и всё, что вокруг XML-ных технологий. Без понимания этого зверя в современном программировании делать нечего.
Самое главное, если охота программировать - надо программировать. Это как с музыкой - каждый день по 8 часов. И тогда будет толк.
зарегистрируйтесь или войдите
Там же есть ссылка, на Visual Studio + Python Tools for Visual Studio. Всё бесплатно.
Я лично пользуюсь Notepad++ и Komodo IDE.
Как альтернативу, можно взять Sublime Text с большим количеством плагинов и подстроить под свои запросы. Сравнивать не возьмусь, изначально взял ST.
Ответ для lizard:
А Javascript? Хороший "верстак" со знанием JS имеет вариант быть неплохо оплачиваемым. Хотя фронтендом JS не ограничено, но тема о начальных шагах
Можно. Для меня, тупого, в IDE основная вещь - это дебагер. В Komodo он есть, в остальных IDE я так и не понял, как с ним бороться. Надо сказать, и не разбирался, чистое программирование - это у меня не основная работа. Что сразу заработало, то и слава б-гу.
Редактор я использую, чтобы по-быстрому что-то исправить. Notepad++ прост, и в этом его главное достоинство. Кроме того, он умеет показывать всякие непечатные символы, форматировать строки... Частенько приходиться ковыряться в дампах. ST - это редактор, а не IDE, и при этом сложен и тормознут, так что приходится мучить себя плагинами, конфигурациями и прочим, тратить на это время, а дебагера всё равно нет. Я его ставил, даже использовал, но N++ всё равно победил в итоге.
Можно ещё тратить время на извращения с vim и emacs. Но мне лень, и я тупой.
Кстати да. Но всё равно не как первый язык, имхо.
Так же, знание теории можно спокойно умножить на ноль без практики. Поэтому есть смысл поучаствовать в каком-нибудь Open Source проекте или подумать о своем чтобы поставить это целью и получить хорошую практику. Очень хорошая практика - изучение чужого исходного кода. К слову о инструментах - если посмотреть на чем пишут открытый исходный код, то вопросы о языках программирования отпадут сами собой. Вопреки многим мнениям в этой теме, основные проекты написаны на С/C++, причем как старое так и новое ПО, до сих пор пишется именно на Си, в стилях кодировки "старой" школы и даже если и С++, то далеко не всегда с использованием объектно-ориентированного подхода, чаще достаточно процедурного. Возьмите и посмотрите исходники последних ядер того же Linux, а так же всех основных популярных сервисов. Там очень многому можно научиться. Есть проекты и на других языках, Java из-за кроссплатформенности и т.д., а так же интерпретируемых типа Python-a, но уровень и области решаемых на них задач значительно отличается. Основной минус этих языков - большие ресурсозатраты и скорость выполнения.
Касаемо же задач реального времени, где быстродействие, надежность, время доставки и обработки информации является критичным, вообще не обойтись без Си и Ассемблера и быдлокод с одной ошибкой может привести к взрыву котла в котельной, к примеру.
Если же вопрос стоит о области Web-программирования и сайтостроения, то тут своя специфика и не менее ответственная. Нужны знания не только в области языка программирования, а в области безопасности как минимум, ведь ваша ошибка в 90% случаев приведет если не краху сервиса, то к уязвимости, которую рано или поздно обнаружат и проэксплуатируют.
Для программиста "как профессионала" важно научиться в первую очередь выделять возможные события и предусматривать реакцию на них в не зависимо от языка, который является лишь инструментом. Научиться учитывать все возможные ситуации и предусматривать реакцию на них. Язык не важен, они отличаются лишь синтаксисом, а алгоритмы никто не отменял.
В качестве иллюстрации есть старая добрая анекдотина что настоящий программист всегда ставит на ночь рядом два стакана - один полный воды, другой пустой. Зачем? Если пить захочется - первый, а если не захочется - второй.