Привет всем! В даный момент я студент. Препод предлагает нам выбрать ЯП на далекое будущее. Чтобы через десяток лет не остаться у разбитого корыта со знанием этого ЯП, получать _ХОРОШУЮ_ ЗП, быть востребованным. Что это?
если ты рассчитываешь что твоя зарплата будет зависеть только от языков программирования которые ты знаешь -- то она никогда не будет топовой и быстро упрется в потолок.
По теме - лучше изучить языки разных парадигм, а синтаксис дело десятое. Советую изучить C (императивщина), Smalltalk (ООП), Lisp (ТРУЪ), Haskell (ТРУ2)
Если изучить этот набор то в других языках (99%) не будет ничего особенно нового.
Недостаток подхода - к современным распространенным языкам может выработаться отвращение, т.к. все они лишь закос под Lisp и Smalltalk.
> Привет всем! В даный момент я студент. Препод предлагает нам выбрать ЯП на далекое будущее. Чтобы через десяток лет не остаться у разбитого корыта со знанием этого ЯП, получать _ХОРОШУЮ_ ЗП, быть востребованным. Что это?
Чтобы _хорошо_ зарабатывать нужно разбираться в алгоритмах, уметь проектировать и _решать_ _задачи_. Язык не то, чтобы не важен - просто в рамках семестрового (ну пусть даже годичного) курса освоить какой-либо разумный язык на уровне промышленного программиста невозможно. В то же время, имея хорошую базовую подготовку, перейти с C++ на Java или даже c Java на Common Lisp никакой сложности не представляет.
Да, еще - хорошие программисты пишут на нескольких языках одновременно, в рамках одного проекта.
На сейчас стоит выбирать между C++, C# и Java - за 10 лет они никуда не денутся, а что будет через 20-30 - все равно никому не известно.
Кнут, это такая книга, которой надо наслождаться. Надо смаковать ее, и решать задачи (те что решаются) с кайфом и надеждой. Иногда можно перечитывать и переживать понравившиеся главы, развалившись в кресле у камина и потягивая глинтвейн...
Математику знать надо, но не надо делать из нее культ (ДПК привет! да я так считаю и все твои доводы мне известны, но это мое имхо и только мое!). Хороший программист это больше философ чем математик. Это человек который умеет отключаться и менять взгляд на вещи, человек который может думать абстрактно. Даже не просто абстрактно, а управлять уровнем своей абстракции.
Математика, да нужна, без нее никуда. Но она тут скорее выполняет функцию «врпавки мозга».
если речь идет о линуксе , в котором ты хочешь остаться и через 10 лет , то нужно знать по крайне мере K & R плюс как минимум какой-то один скриптовый язык
> Хороший программист это больше философ чем математик. Это человек который умеет отключаться и менять взгляд на вещи, человек который может думать абстрактно.
Я даже несколько удивлен, что Fortran все еще популярнее MatLab, т.к. в последнее время большинство инженеров "пересадили" с первого на последний. Хотя, если учесть, что MatLab считает раз эдак в 20 медленнее (по отношению к gfortran, в 40 - по отношению к Intel Fortran), то это понятно.
Заметьте тенденцию: популярность C, C++ и Java постепенно падает. И еще интересно, какой именно Visual Basic сейчас на максимуме и все еще растет? VB6 был (и вполне заслуженно, несмотря на определенные недостатки) широко распространен, но M$ его не поддерживает уже лет, по-моему, 5, неужели доля VB.Net так сильно расти начала?
> Математика, да нужна, без нее никуда. Но она тут скорее выполняет функцию «врпавки мозга».
А какая математика нужна программисту? Ну понятно, дискретная. А матан, диффуры, функан, тфкп там всякие - они нужны программисту? Ну понятно, для общего развития, но как профильные дисциплины? Если да, можно пример?
матан, диффуры, функан, тфкп нужны в предметной области. В данном случае в инженерной скорее всего. В финансовой нужны теория вероятностей,мат. статистика, теория принятия решений. А именно "программисткая" математика - это дискретная, мат. логика, может ещё, что я упустил.
гм, да k&r Си это очень интересный и хороший язык для вправки мозга. Чуткость и осторожность развивается очень сильно. Для пущего «кайфа» рекомендую троечку компиляторов посторее.
Еще не плохо узнать японский/китайский и арабский для отбивания страхов от языков, что бы научится (если получится) принимать за буковки все что угодно. Так же не плохо знать Латынь, ибо от нее произошли многие европейские языки и если надо будет заехать в европу, то сильно будешь рад.
Вообще никакая (сейчас меня будут закидывать камнями). Что бы написать бизнес логику она не нужна, правда.
Даже дискретная математика которая "типо для программистов", она тоже нужна не всегда. Ее понимание позволяет легче решать класс задачь. Без нее, нет их можно решить, но тяжлее. И так во всем.
Программист это очень интересная профессия, тем что ты "обслуживающий персонал" разных других специальностей. Пишешь для "бухов", изчуешь основы их специальности (часто не основы). Работаешь с геологами, тут вонсоновном графы и иногда какие-то их специфичные вещи. Жизнь закинула в финансы и аналитику, всякие мат. статы полезлие... Из-за этого, я, выше указал что ты должен быть философом, в первую очередь. А все остальное (меня теперь будут бить, наверное даже ногами) ты будешь в состояние понять.
> А какая математика нужна программисту? Ну понятно, дискретная.
методы оптимизации нужны. А там большие пересечения с обычной математикой.
Например -- написать софт который будет оптимально вести поезд.
Или -- некоторые алгоритмы для решения чисто дискретных задач рождены из непрерывных -- например максимальную клику в графе можно искать с помощью эволюционирования динамической системы, которая будет сходиться к большой клике.
разработайте собственный язык. нарисуйте дизайн, реализацию [на чем именно не важно]. выпустите в свет. думаю, после успешного прохождения задания проблем с куском хлеба быть не должно.
> Программист это очень интересная профессия, тем что ты "обслуживающий персонал" разных других специальностей. Пишешь для "бухов", изчуешь основы их специальности (часто не основы). Работаешь с геологами, тут вонсоновном графы и иногда какие-то их специфичные вещи. Жизнь закинула в финансы и аналитику, всякие мат. статы полезлие... Из-за этого, я, выше указал что ты должен быть философом, в первую очередь. А все остальное (меня теперь будут бить, наверное даже ногами) ты будешь в состояние понять.
пожалуй соглашусь. из всех людей, которых я знаю и которые непосредственно связаны с разработкой ПО, каких-то более-менее ощутимых успехов добились те, кто в первую очередь не потерял гибкости мозгов, умения заражаться идеей и желания учиться.
а матан, дифуры, функан, что я еще забыл? да, это забавно и интересно, но с вероятностью 99% вам понадобятся совсем не они.
Привет Всем! ЯП не проблема, они приходят и уходят. Главное научиться самому добывать знания - это залог успеха. За все время работы програмистом изучил 2-3 основных языка, на остальные переход составляет 2-3 месяца. Они все похожи, за исключением небольших ньюансов. Правильно говорил народ, надо изучить разные подходы к решению задач, а средства реализации выберешь сам.