Что изучать - алгоритмы или языки


9 0

Сегодня получил очень хороший вопрос:

Здравствуйте Михаил, у меня общий вопрос по программированию... Как вы считаете, нужно ли знать больше языков, или лучше знать больше алгоритмов и т.д, или совмещать и то и другое? :)

Xороший вопрос - лучше знать несколько языков. Если ты знаешь только один, то как ты можешь понять, что он для тебя идеален. Вдруг есть какой-то другой язык, который может тебе понравится больше. Так что останавливаться после изучения первого языка не стоит. Но и изучать все подряд тоже не имеет смысла.

Лично я пробовал изучать очень много языков - Basic, Pascal, Assembler, C, C++, Delphi, Java, Perl, PHP, C#, Objective-C. Примерно в такой последовательности. Но это не значит, что я знаю их все. Basic и Perl - дальше основ я не ушел, потому что не понравились языки и я их сразу забыл как страшный сон. Assembler понравился, но писать на нем постоянно - извращение, а в наше время писать даже вставки особо не нужно. C++ нравился, но не нравилась объектная модель Microsft и их классы. Это было издевательство. В Delphi нравилось почти все, но C#, понравился еще больше.

B вот вроде бы мне все нравится в C# и Visual Studio, но я просто для развития начал изучать Objective-C и нашел его офигенным. Так что отвечу так - нужно совмещать и то и другое, но если язык не нравится, то не стоит себя заставлять. Изучение языка должно быть для того, чтобы понять нужен он тебе или нет. Если нет, то полно альтернотивы, главно не слушать ламеров, которые кричат на каждом углу, что какой-то язык крутой или хакерский. Как я уже говорил, не язык красит программера, а программер делает язык программирование офигенным.


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Анастасия

02 Марта 2012

Согласна. Для разнообразия и развития можно перепробовать разные языки. Но для углубленного использования лучше всего остановить свой выбор на чем-то одном.


Ник

02 Марта 2012

2й год в универе пишем лабы на Си - Боже мой, как меня заимела его непредсказуемость(((


Анастасия

02 Марта 2012

Мы пишем на Ruby — невероятно легок и прост. Огромное количество кошерных методов, которые многое упрощают в жизни.
Чем больше углубляюсь в его изучение, тем больше он мне нравится.


Sat

02 Марта 2012

А вы не пробовали Оберон-2, Активный Оберон? Попробуйте хотя бы для коллекции. Он очень похож на Паскаль, более того, Паскаль является дедушкой Оберонов.


Ancort

02 Марта 2012

Лучше больше алгоритмов конечно.
Алгоритмы обязательно надо изучать, чтобы уметь мыслить алгоритмами. Плохой программист это как раз тот, который не имеет алгоритмического мышления, а таких большинство.


если язык не нравится, то не стоит себя заставлять.


Это точно. Мне нравятся си-подобные языки например. Я не смог заставить себя писать на Delphi, VB, и Ruby тоже мне при первом знакомстве не понравился.


alex.mrnv

02 Марта 2012

Когда то начинал с книг типа "Компьютер глазами хакера" и иже с ним "Линукс ....", "РНР ....",
"С++ .....", "Web-сервер .....", эти книги дали мне огромный толчок для развития, но прочитав Флэнагана JavaScript, а затем и Java справочник его же,  познакомился с Python, и просто офигел, Django вообще супер для Web-разработки, после Флэенагана даже браузером по умолчанию сделал SeaMonkey, как дань уважения для Netskape после прочтения(вот насколько всё может быть романтичным), есть там в веб-разработке шифка такая Инспектор DOM, "вот оно где собака порылася" ну и т.п. После "С++ глазами ...." сразу стал изучать Шилдта, здрово. А на счет алгоритмов, я считаю, что все мы, будучи людьми которые ничего не привнесли в их развитие, так же равно ничего не можем вынести из них, если только не детально изучив из синтаксис, лексиску, семантику, свойства, методы и всё остальное огромное прочее, не научимся понимать их, выражая в создаваемых нами модулях своё я, и хотя мы теперь с Михаилом в виду этого говорим на "разных  языках", соглашусь с тем что не язык красит человека, а человек красит язык, ибо абие на одном и том же языке мы отчасти являемся пользователями, и на том же самом программируем. Аминь. Но!!! P.S.
    Python рулит!!!!!!!


alex.mrnv

02 Марта 2012

P.S. "Ученик не выше учителя, но каждый усовершенствовавшись, может быть как учитель его." Самое главное что меня "зацепило" из первой же прочитанной мною  книги "Компьтер .........", это стр.16, цитирую: "В частности, вы должны научиться, пользоваться "горячими" клавишами и не дёргать мышь по любому пустяку." Ну если в этом плане была бы возможность "зарубиться с гуру", то готов был бы поспорить, ну в смысле того,  кто там кого сделает по скорости не известно , ну и конечно  искренне благодарен за то, что все его "наставления" вдохновили на всё всё всё намного большее чем все эти hotkeys.  


Ervel. E.

03 Марта 2012

Я бы советовал начинать с Паскаля, т.к. он даёт первоначальные понятия, что представляет собой программирование своей лёгкостью и структурностью. А далее можно перейти к более сложным языкам по своему усмотрению.


sergeych92

04 Марта 2012

Я думаю, что лучше знать один язык и кучу алгоритмов, чем наоборот.

Но вот учить их лень. Алгоритмы лично мне, например, трудно учить из какой-нибудь книги - просто засесть, открыть книгу и читать. Конечно, если программировать потом эти алгоритмы на своем любимом языке и тестировать, то это более занимательно, но все равно надоедает. Я думаю, что лучший способ - это участвовать в TopCoder. Там надо найти решение алгоритмической задачи. Получается обратный поиск - по задаче найти алгоритм, что уже похоже на игру с задачей и другими участниками кто умнее)


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне