singlepost

Что нужно сделать чтобы быть нормальным программистом? << На главную или назад  

Я довольно много увлекался и увлекаюсь спортивным программированием. Но, с недавнего времени, до меня вдруг стали доходить подозрительные мысли о том, что, зная только Delphi я вряд ли буду очень ценен как работник.
Не могли бы вы мне(и всем людям кого это тоже волнует) на чем нужно делать акцент, что нужно выучить обязательно?

51 ответов в теме “Что нужно сделать чтобы быть нормальным программистом?”

  1. 51
    Константин Смотритель ответил:

    Паша, нужно просто начать решать не "спортивные задачи", а практические. Современный программист-профессионал совмещает в себе двух людей – проектировщика и кодировщика. А самое важное качество программиста – умение быстро обучаться (быстро изучать новые технологии, отделать зёрна от плевел и прочее).

    Если ты занимался олимпиадами, то как проектировщик какого-то класса задач ты уже, вероятно, состоялся. И как кодировщик Delphi тоже. Но чтобы стать профессионалом необходимо выбрать другую ПРИКЛАДНУЮ ОБЛАСТЬ, более практическую – за олимпиады ведь никто денег не заплатит =)

    А вот уже выбор прикладной области – от тебя зависит. Например:
    www – PHP, Руби, SQL (MySQL)
    коммерция (USA) – C#, SQL (Oracle), Java (для не MS платформ)
    встраиваемые – C++, Java (J2ME)
    сотовая связь – C++, Java (GUI), SQL (Oracle)

    Как кодировщику на сегодняшний день – минимум необходимы Java и C++, как проектировщику – знание паттернов проектирования, прикладной области.

    Толька Java тоже может оказаться достаточным, но профи так не станешь – хотя доход будет тоже достаточно хорошим =)

  2. 50
    Константин Смотритель ответил:

    Ага, Lisp, кстати, тож в коммерческих приложениях раньше был сильно распространён. Сейчас вроде его C# и Java практически выжили =(

  3. 49
    Андрей Куликов ответил:

    >> Мм-м. Почитай самоучитель по лиспу. Трудно это объяснить(По крайней мере я немогу:)), нагляднее будет всёже по учебнику. Несколько спецефическая там структура.

    Зачем мне читать, я регулярно исспользую Lisp и самоучитель не нужен. Вопрос был – что значит ___БОЛЕЕ___логические? ))

  4. 48
    Джулиан Моррис ответил:

    Нужно прежде всего Ж Е Л А Н И Е. Остальное зависит от его колличества. Я с бейсика когдато начинал, уж лучше бы я начинал с паскаля. Не ну с "С++" начать анрил почти. Зато время пока человек не с математическим ещё скаладом ума будет учить Си/++ он выучил бы и паскаль и еще много всего

    Хотя я вобщемто посоветовал бы заниматсья мелкими проектными работами(Выдумываешь->Делаешь). Этому почемуто мало уделяют внимания в учебных заведениях. Всё больше задачкам

    "Что значит более логические? )))"
    Мм-м. Почитай самоучитель по лиспу. Трудно это объяснить(По крайней мере я немогу:)), нагляднее будет всёже по учебнику. Несколько спецефическая там структура.

  5. 47
    Maxik Odanets ответил:

    >Андрей Куликов
    Респект! :)
    Согласен с тобой на все 200 %
    От себя добавлю:
    – учить примитивы, чтоб потом переходить к объектно ориентированным языкам – это все равно, что учиться танцевать хип-хоп, хтоб потом перейти на секцию вальса!
    Если освоишь линейное програмирование (может и не так называется :) ))), потом трудновато будет врубаться в объектно ориентированное. Прикинь, как зная с++ понять принципы многозадачности или полиморфизмов всяких :)
    Сам вопрос поставили не правильно. Мы разбираем следствие (какой язык учить), а нужно сначала понять цель (кем хочешь работать)!!!
    Поэтому предлагаю эту тему закрыть, а начать новую – кто кем работает, сколько получает, какие плюсы и минусы профессии и какими языками пользуетесь.
    p.s. если такая тема уже существует, не ждите, что ее кто-то будет искать поиском :) )) просто переместите вверх.

  6. 46
    Андрей Куликов ответил:

    Mi}{@ @@@@@
    >> Обязан сам себе, если хочет знать много и разбираться во всем!

    Да? Basic непременный и обязательный атрибут для разбирания во всем? ))

    >> Ассемблер к твоему сведению есть такой язык программирования!

    Ассемблер, к твоему сведению, если уж говорить на сленге, а вернее язык ассемблера – это всего лишь символьная запись машинных команд конкретной железки. Которых бывают сотни. Соотвественно абсолютно разных ассемблеров для них столько же. Не говоря о разных диалектах символьной записи даже для одной железки. Дык вопрос и был о том – какой ОБЯЗАТЕЛЬНО изучить ассемблер? Для x86, для ultra sparc, для power pc, для arm, или может для пиковских микроконтроллеров? )))

    >>А про логическое программирование ты наверно и вообще не слышал?

    Я активно исспользую декларативное программирование в том числе и логическое, а вот с пониманием, что это у тебя походу проблемы. Вопрос все же был, что ты понимаешь под термином "БОЛЕЕ логические"?

    Может я конечно черезчур резок, но слижком уж нелепо было то первое сообщение. )

  7. 45
    Cool Boy ответил:

    Может и так, зато ты теперь знаешь больше и больше разбираешьс в этом, лучше начать с примитивов, но потом читать скрипты свободно, чем знать одну прогу и всё!

  8. 44
    Денис Бесединский ответил:

    >>Mi}{@ @@@@@

    Moget i tak … sam nachinal s Basic->Pascal->(C+, asm)->(C++, C#)
    No sejchas kagetsa chto Basic->Pascal mogno bylo propustit' i men'she vnimanija udel'at' C. Chto kasaetsa Prolog – ochen' uz spezifichnyj … znanij iz metodichki dumau dostatochno (verojatnost' ispol'zovanija – malen'kaja, moget ja oshibaus' konechno). Mogno takge knigechku po Smalltalk polistat'.

  9. 43
    Cool Boy ответил:

    Обязан сам себе, если хочет знать много и разбираться во всем!
    Ассемблер к твоему сведению есть такой язык программирования!
    А про логическое программирование ты наверно и вообще не слышал?
    Чтож бывает………..

  10. 42
    Андрей Куликов ответил:

    >> Ну так для начала ты просто обязан

    Кому обязан? )

    >> потом обязательно изучи Assembler

    Какой ассемблер?

    >> ну а после переходи на Lisp, Prolog и более логические языки программирования

    Что значит более логические? )))

  11. 41
    Cool Boy ответил:

    Ну так для начала ты просто обязан изучить примитивы, такие как Pascal, Basic, C, после переходи на более грузные, такие как С#, С++, С sharp, Delphi, PHP, JavaSсript, Java, изучи базы данных!!!, потом обязательно изучи Assembler, ну а после переходи на Lisp, Prolog и более логические языки программирования! Настоящий программист, это тот который может написать любую программу где угодно и на чем угодно, ты должен читать все скрипты как книжку по своему родному языку, тогда ты сможешь в полной мере сказать, что ты программист!
    Кстати ты должен еще и стремиться написать прогу которая будет как можно меньше весить, как можно больше обрабатывать процессов, и как можно меньше грузить систему!

  12. 40
    Андрій Милейко ответил:

    Соображалка + владение технологиями, относящиеся к той области, в которой ты хочешь быть специалистом.
    ЗЫ. Стать великим проггером во всех направлениях – невозможно.
    ЗЫ2. Делфя – классный язык!!! На Делфях отличную софтину писать можно! А если у тебя появился комплекс( :) ) перед тем, что все говорят, будто на Дельфе проги – как "слоны в посудной лавке" – рекомендую полистать книжечки М.Е.Флёнова.
    ЗЫ3. Если ты действительно уверенно чувствуешь себя в Делфях – перейти (выучить) на любой другой язык проблем не составит труда.

  13. 39
    Maxik Odanets ответил:

    >для начала научись пользоваться поиском
    ну блин вы злые.

    Чтоб стать хорошим программистом нуно научиться командовать. Представь, что есть чувак, который понимает любую команду буквально и которому нужно все объяснять и разжовывать – этот чувак – комп. Он быстро считает, но без твоей команды ничего делать не будет.

    Врубишься в смысл – сможешь понять любой язык программирования.

    Что касается языков – это смотря что ты хочешь:
    – заниматься вебом – тогда учись разговаривать на javasсript, языке запросов в базу, php (это для серваков с юниксом) или ASP… (для wind) хотя не обязательно так (это пояснение для злых обитателей группы :) )))
    - Писать игры – visual c, action script (вернее flex, сейчас пошла мода на flex программеров), directx… (в этом не спец – сейчас занимаюс вебом)
    - Писать умные проги под винду – Visual.NET или Framework (ну тут точно не спец. Раньше писал на VisualC, сейчас отвык :) )

    Вот.

  14. 38
    Deleted Deleted ответил:

    Писать программы ;) …я так думаю. И чтобы это тебе самому было интересно, даже если очень хочется кушать ))

  15. 37
    Алексей Игнатьев ответил:

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

    Хороший программист выбирает и реализует хорошее решение.

  16. 36
    Андрей Денисов ответил:

    по-моему "голый" программист стоит 20000р. в месяц, толковый 30000р. лично я совмещаю системный анализ, реинжиниринг, а уж загнать в код дело последнее, которое вышеуказанный сделает почти даром

  17. 35
    Паша Галашин ответил:

    //ru.wikipedia.org/wiki/Олимпиады_по_программир...

  18. 34
    Серега Решетникъ ответил:

    У меня вопрос -Что значит спортивное программирование?

  19. 33
    Максим Захаров ответил:

    Пожалуй я правда не совсем верно выразился. Правильно было сказать: выучив синтаксис и основные библиотечные функции Си по Кернигану и Ричи я перешел на литературу, не столько описывающую языки, сколько приемы программирования на них. Керниган и Ричи это действительно классика и я это не отрицаю

  20. 32
    Александр Летов ответил:

    >А я как-то думал, что все-таки это классический труд по языку Си.
    Правильно думаете. Если человек нашёл что-то "посерьёзнее", то дальше с ним можно не разговаривать. Как минимум, он неправильно сформулировал свою мысль.

    Я бы вместо Паскаля порекомендавал Eiffel. Синтаксис похожий (от Алгола свою историю ведут оба), но дизайн языка намного лучше. Плюс он чисто ООП. Не думаю, что учить процедурное программирование ещё актуально, если вы уже закончили школу…

  21. 31
    Тимур Багаутдинов ответил:

    >> Так мы вроде обсуждаем как стать хорошим программистом, а не как создавать большие программные системы.

    Если уж на то пошло, то
    1. Что делают хорошие программисты, как не большие системы.
    2. Раз уж обсуждаем эту тему, то, пожалуйста, не нада обсуждать, что я пишу ;)

    >> Я начинал с Керниган и Ричи "Язые Си". До конца его так и не дочитал и перешел на книги посерьезнее (те что в профиле)

    А я как-то думал, что все-таки это классический труд по языку Си.

  22. 30
    Максим Захаров ответил:

    Я начинал с Керниган и Ричи "Язые Си". До конца его так и не дочитал и перешел на книги посерьезнее (те что в профиле)

  23. 29
    Костя Мичурин ответил:

    паскаль ну может немношко облегчать работу в дельфи потом
    на пакале хорошо учаться операторы

    условия,цыклы,массивы,переменные,записи

    Больше нечего такого на паскале сделать нельзя
    так азы можно выучить но паскаль учаться от недели до двух

    Потом переходи на дельфи

    Правда мой первый язык был визуал бесик(язычок слабенький
    программы зато пишуться быстренько, легко и мало весят)
    А язык сам по себе используеться только для домашних целях
    Синтаксис у него простой но потом будет немношко дискамфортно переходить на языки более высше чем басик например дельфи

  24. 28
    Mobi Kat ответил:

    От недели до двух???!!!! Каким образом? Книга, кот. я собираюсь прочитать огромная, да и я пока въеду что к чему…

  25. 27
    Mobi Kat ответил:

    Я вот тоже хочу освоить программирование. Но пока н.ч. не знаю и н.ч. не умею. Собираюсь прочитать для начала старичка Pascal-я. Мне это поможет?
    МОжет, кто-нить сможет что посоветовать?

  26. 26
    Костя Мичурин ответил:

    ну возможно кроме дельфи надо знать несколько языков программирования связанных с интернетом (php,java)
    Знать базы данных (аксесс фокс про)
    Знать команды виндовсные

    А вообще умея составлять алгоритмы можно научиться работать на любом языке
    Я вот так вообще чесно скажу многих операций процедур функций в программировании незнаю
    Есть хороший справочник где можно найти (главноен чтоб ты знал что такая то функция есть и её можно использовать и где её найти)
    Также знать такие вещи как условия,цыклы,массивы,переменные,записи

    Вообщем азы программирования знать а в остальном можно выучить любой язык

  27. 25
    Максим Захаров ответил:

    #25 Согласен. Нужно уметь писать коментарии и создавать грамотную документацию

  28. 24
    Максим Вальтер ответил:

    #25 Так мы вроде обсуждаем как стать хорошим программистом, а не как создавать большие программные системы.

  29. 23
    Тимур Багаутдинов ответил:

    >> Код должен быть читаемым и должен быть понятен как самому автору, так и любому другому программисту
    Я думаю, без архитектора и документации на одном коде в любом достаточно крупном проекте вряд ли сообразишь, что к чему.

  30. 22
    Максим Захаров ответил:

    Код должен быть читаемым и должен быть понятен как самому автору, так и любому другому программисту, иначе поддержка и развитие продукта не осуществимы, а значит продукт написан плохим программистом

  31. 21
    Тимур Багаутдинов ответил:

    Если брать в таком объеме, то, думаю, один прогер не потянет…

    >> пусть и больше весила, но работала быстрее

    А разве такое бывает?

  32. 20
    Егор Долгий ответил:

    Поэтому нужно писать так, чтоб прога пусть и больше весила, но работала быстрее и была понятнее самому проггеру.

  33. 19
    Тимур Багаутдинов ответил:

    >> То есть он должен понимать что произойдёт с системой в целом, если он изменит её часть.

    Мне кажется, что уже в системе тысяч на сорок строк вряд ли сможешь свободно ориентироваться

  34. 18
    Максим Вальтер ответил:

    Хороший программист не обязан знать кучу языков программирования и технологий. Он должен уметь их быстро изучать.

    Хороший программист должен свободно оперировать с логическими цепочками нескольких уровней. То есть он должен понимать что произойдёт с системой в целом, если он изменит её часть.

  35. 17
    Евгений Диденко ответил:

    Вопрос:

    >Не могли бы вы мне(и всем людям кого это тоже волнует) на чем нужно делать акцент, что нужно выучить обязательно?

    Ответ:

    >для начала научись пользоваться поиском.
    :-) ))))

  36. 16
    Алексей Кудров ответил:

    Знаешь, я пять лет назад написал свой первый "Hello world". Потом писал на разных языках и разные проги, но не считаю себя большим профи. Но внете бывает мои советы комуто помогают – значит чтото я все таки знаю. Вобщем думаю чтобы быть хорошим программером просто пиши, пиши и еще раз пиши. Пиши то что тебе интересно и то что тебе нужно, пиши и за деньги и для себя. Даже самым лучшим программерам всегда есть чему учиться.
    Стремись к знаниям – вот истинный путь! Да прибудет с тобой сила, юный кодер!;)

  37. 15
    Taras Neporozhniy ответил:

    ебать, если не ошибаюсь, таких тем уже дофига. для начала научись пользоваться поиском.

  38. 14
    Алексей Злобин ответил:

    Ну чтоб стать номальным много не нужно. Выучил какой-нить язык(от асма до смолтолка – всё к твоим услугам), прикнулся гденить кодить чтонить маловнятное и всё, можно называться программистом.
    Трудности возникают если цель стать хорошим программистом.
    Во-первых ниразу не понятно кто ето? Маг асма и оптимизации под хитрые архитектуры? Или мастер ОО-архитектур, библиотеки которого в пару строк кода можно настроить на любые причуды заказчика? А может спец по тяжёлым вычислениям, озадачивающий сотенные кластера? Фигня, надо уточнять требования…
    Хорошо, выбрал ты куда податься. Ну пусть в ООшную песочницу… Прочитали 5к книжек от всяких бандитов и друзей. Мы гении? Нихрена. М ама, что делать?!! Спкуха! Сча найдём труЪ контору, с подобающим народом, и по методу обезьяны. Находим, повторяем… ы… а… блин, ну вот-же "шаблон на шаблоне и шаблонно наследуется"(с), ну вот-же хз какого размера софт с двух строчек в конфиге перестраивается нафиг наизнанку? А почему на большинство вопросов в гурятнике ответ "я хз, поди погугли". Издеваются сцуки
    ?..
    Нет, просто есть люди, которые любят своё дело, а есть, которые не любят… И результат всегда соответсвует, тч забей дитя на всех этих советчиков нахрен.

  39. 13
    Алексей Злобин ответил:

    Во я пропостился о_О

  40. 12
    Сергей Богданов ответил:

    Похожая ветка: //www.wasm.ru/forum/viewtopic.php?id=27206

  41. 11
    Паша Галашин ответил:

    "Математика нужна не только для чего то серьезного!Она нужна везде и всюду, особенно для спортивного программирования! Поэтому учи математику и постоянно программируй и будешь крутым прогером =)а еще уделяй внимание любым мелочам при программировании,тож очень важно"
    и все? ну, с этим все в порядке. ладно, вы развеяли мои сомнения) всем спасибо)

  42. 10
    Юрий Зорин ответил:

    а если знаешь С++,C#,PHP,JScript,Pascal,Delphi, базы данных, и еще иного чего?

  43. 9
    Максим Захаров ответил:

    Мне кажется что само слово программист неоднозначно, и уже поэтому нельзя сказать что нужно чтобы быть хорошим программистом. Что нужно чтобы быть хорошим физиком??? Ктото из физиков является профи в области ядерной физики, ктото в области радиоэлектроники, ктото по части строительства летательных аппаратов. То же самое и с программистами. Программист должен обладать профессиональными знаниями в той области, в которой он работает и должен уметь быстро и качественно обучатся. И если лет этак 20 назад программистами называли тех кто от и до знал что происходит в ЭВМ, то сегодня программист это человек, умеющий писать программы. И не существеннокаким языком программирования он владеет. Ведь знать язык и уметь программировать это совершенно разные вещи.

  44. 8
    Zhan Pobe ответил:

    Равиль+1 гг

  45. 7
    Паша Галашин ответил:

    странно, но я ожидал что градом посыплются реплики типа "учи C# !"

  46. 6
    Юран Кербицков ответил:

    Математика нужна не только для чего то серьезного! Она нужна везде и всюду, особенно для спортивного программирования! Поэтому учи математику и постоянно программируй и будешь крутым прогером =) а еще уделяй внимание любым мелочам при программировании,тож очень важно

    Равиль +1

  47. 5
    Паша Галашин ответил:

    простите если повторяюсь)
    да, если бы был FAQ–это было бы лучше всего

  48. 4
    Равиль Галеев ответил:

    Учиться надо!!

  49. 3
    Андрей Куликов ответил:

    Которая по счету тема? ))

  50. 2
    Евгений Тихонов ответил:

    Ну вот некоторые говорят, что нужно учить математику, но это ИМХО для чего-то серьёзного (для графики интерполяция, для баз данных статистика и мат.моделирование). Да и на дельфи можно писать нехилые проги, если есть моск и мышление ))

  51. 1
    Кирилл Гонюшев ответил:

    Может FAQ какой по этому вопросу уже существует?

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.