Уважаемые господа профессионалы-программисты, посоветуйте мне пожалуйста, как стать программистом ?, куда обратиться ?, с чего начать и что читать ?, может где есть курсы какие-нибудь ? Я обладаю определённым минимумом знаний для начала как пользователь PC (ну с какой стороны к компутеру подойти, и поковыряться в настройках биоса материнской платы - это я знаю), но меня интересует именно программирование и всё что с этим связано. Прошу ответить серьёзно, без стёба, ведь Вы тоже когда-то, с чего-то начинали. Заранее благодарен. С уважением.
Для более-менее серьезного ответа не могли бы Вы указать свой возраст и где учитесь? PS. Понимаете ли Вы значение слова профессионал?
Программист - этого горы прочитанных описаний. Если не можешь с ними разобраться - курсы не помогут. Поэтому начинать (до некоторого уровня) надо самому. Я начила сам. Писал сперва друзьям программки. Потом в Волгограде написал для расчета зарплат (давно было). Потом устроился на очень мало оплачиваемую работу, пообещав горы золотые. Обещание выполнил, проводя на работе по 15-16 часов (и читая описания в транспорте). Сам же и ушел. Когда понял, что вершина карьеры достигается очень быстро. Потому что очень близко.
Программистом просто так не стать, это не просто наука. это смесь искусства, науки и ремесла. всему этому надо учиться. если хочешь стать профессионалом, то учиться надо начинать с азов, на одном практическом опыте и знаниях полученных из книг далеко не уедешь. и обязательно, повторяю, обязательно после учебы, начав работу, найти наставника, который заставит с новых позиций переосмыслить академические знания, знания полученные из книг и сотворит в твоей голове некий огромный (это зависит только от тебя) потенциал, который ты не просто должен превратить в кинетическую энергию и выдохнуться, а должен преумножать его все свое свободное и рабочее время и только тогда ты станешь ПРОГРАММИСТОМ-ПРОФЕССИОНАЛОМ. А теперь - шутка, она , в принципе, известна довольно многим. в школе: 9 класс блок-схемы 10 класс бейсик в ВУЗЕ 1 курс паскаль 2 курс ассемблер 3 курс си 4 пролог 5 здесь не помню на работе инженер "низшей" категории с инженер категории повыше SQL ведущий инженер паскаль начальник отдела разработки Бейсик зам директора по ИТ блок-схемы Вот-так ;-)
Программист, именно программист, должен чуть ли не наизусть знать Кнута. Все три тома. Но начинать с них ни в коем случае не следует. И лучше соответствующий материал пройти в ВУЗе. Не знаю, правда, преподают ли такое в Волгограде.
Ну, не надо пугать. Не каждый ходжа знает наизусть Коран... Что такое программист-профессионал? Человек, пишущий программы и получающий за это деньги. За время, прошедшее со времени написания Кнутом толстенных томов, сильно изменились технологии разработки. Не само программирование (там только появлялись рюшечки типа "обьектной ориентированности" и прочей мишуры), а именно технологии. К примеру, появление джавы привело к тому, что стало возможным менеджеру проекта не париться в поисках десятка супер-профи-сишников (код которых через пару месяцев не способен понять сам автор :-))), а нанять за те же деньги сотню индусов, которые кроме джавы не знают ничего. Или пример поближе - 1С :-))) Зачем 1С-программисту знать алгоритм сортировки Шелла? :-))) Да, пардон, по теме сказать забыл - чтобы стать профессионалом, нужно начинать работать. Хотя бы на подхвате у более продвинутых сначала.
Во-первых должен быть определенный стиль мышления (алгоритмический можно назвать). Если его нет, то очень долго придется учится и может быть все напрасно. Есть такие книжки серии "Для чайников". В принципе они только так называются, а на самом деле там много полезного и профессионалам можно почерпнуть. Так вот покупаешь и вперед (главное чтобы в книжке побольше примеров было, начиная с простейших) - перенос на комп чужых примеров, отладка, разбор. Да, еще эффективно когда перед тобой стоит реальная задача. Добавление от [date]1043735860[/date]: Забыл добавить, я совсем не профессионал-программист.
Да уж, запугали человека. И Кнута наизусть, и чуть ли не с детского садика читать толстенные описания. Самое главное что нужно, это подходящий склад ума. И практика, конечно. Для каждой прикладной области надо представлять себе технологии которые там применяются. Для этого не надо быть ходячей энциклопедией, знать только то что нужно в общем. Детали выясняются из справочников и мануалов. Например пишешь под SQL - надо представление иметь как там всё работает. Если пишешь какие программы сетевые - представление о сетевых технологиях и протокалах. И т.д. Но если мозги не те, не рождён человек для программирования, хоть он 3 института закончит - толку не будет.
Ребята, насчёт мозгов, я всё прекрасно понимаю и полностью с Вами согласен. Но в конце концов, какое вам дело до моих мозгов. Я просто задал конкретный вопрос и хотел бы получить конкретный ответ по существу. Вот пример ответа: ---Курсы есть(если есть) там-то и там-то...---- ----Для начала рекомендую литературу такую-то и такую-то...---- А насчёт книжек для "чайников", я уже много такой литературы прочёл, даже кое-что из серии "Сертификационный экзамен — экстерном"MCSE, но это всё настройка и обслуживание, а меня интересует именно программирование.
Начни программировать. Пока для себя. Хоть что-то. Сам придумай - то, что интересно. Используя книжки, что под рукой.
А ты не можешь найти книжку с заглавием "Программирование на ..... для чайников"? Раньше валом таких было. Язык не важен, но лучше, ИМХО, с Паскалевским синтаксисом (Delphy, f.e.). И вперед - "Моя первая программа - HELLO WORLD". А мозги твои никто не обсуждал, что за обиды. Тебе рассказали что может ничего и не получиться. Я знаю многих прекрасных администраторов, железочников которые из программирования могут только скрипт подключения сетевых дисков написать. Не дано...
Я б посоветовал, что-нибудь более практичное. MS Visual Basic, MS Visual C++. Что касается твоего "конкретного" вопроса, открой газету с объявлениями, найди раздел обучения и вперёд. Либо сам изучай. Но про это тебе уже сказали.
Сегодня купил одну книгу для начинающих. Начал читать. Пока всё понятно. Думаю, потихоньку разберусь, хотя без консультанта туго будет. Ну в общем ясно в каком направлении надо двигаться. Спасибо всем за советы. Тему можете закрывать. У меня пока вопросов больше нет.
Ламер В настоящее время меня интересует этот же вопрос. Сейчас нахожусь в середине пути своего обучения. Вот мои советы: Для начала нужно желание стать програмистом. Действительно необходимо иметь математический склад ума. Если предыдущие пункты выполняются, то надо начать с: 1) освоить сначала простой язык программирования, чтобы понять "как это работает". Советую изучить Turbo Pascal 7.0. Это в принципе язык начального уровня (если в него глубоко не углубляться, извините за тавтологоию). 2) Изучить язык уровня повыше. Просто советую изучить Delphi 4.0 -7.0 (не пожалеете). 3) И вершина знаний - изучение ассемблера (не смейтесь, но это действительно так). Если есть сила воли и способность быстро саморазвиваться, то можно поменять пункты 2) и 3) местами. 4) А вдальнейшем перед вами откроются широкие перспективы - вы сами решите, куда применять ваши знания - изучать ли еще дополнительно языки программирования, или совершенствовать свои знания дальше. Жалко, что тема закрывается.
М-да Ну вот я считаю себя программистом. Позвольте с вами не согласиться. Да и со всеми предыдущими ораторами. ИМХО знание языка не имеет прямой корреляции с уровнем программиста. А учить нужно прежде всего проектирование программных систем. Тогда и не будет реплик насчет появления рюшечек объектно-ориентированного подхода. И не будете считать джаву гигантским скачком в технологиях программирования (ИМХО как раз наоборот). (0) Я бы тебе посоветовал поступить в политех на ФЭВТ, но конечно для 23 лет это пожалуй экстрим.
проектирование - это проектирование, а программирование - это программирование. сильно сомневаюсь, что изучив проектирование программных систем, человек научится программировать. если хотите, надо изучать не только проектирование, но и разработку и еще многое чего.
Мой путь: pascal -> perl (и вот уже 4 года) -> asm -> C. Всякие подделки типа delphi включены в раздел pascal. А вот asm лучше перед C учить. Обосновать? И совсем это не вершина.
Цитаты из Eric Raymond "Как стать хэкером" (читай хорошим программистом): 1) "Если вы не знаете ни одного компьютерного языка, я рекомендовал бы начать с языка Python. Он понятно разработан, хорошо документирован и относительно доброжелателен к новичкам." 2) "Если вы занимаетесь серьезным программированием, то вам придется выучить Си, основной язык операционной системы Unix (хотя это и не тот язык, который следует пытаться выучить первым). Другие языки первостепенной важности для хэкеров - это Perl и LISP." 3) "... книги и курсы этому не научат (многие, возможно, большинство лучших хэкеров - это самоучки). Что этому учит, так это (а) чтение кодов и (б) писание кодов." 4) "Достаньте один из вариантов Unix в исходных кодах, научитесь его использовать и с ним работать. Единственный и самый важный шаг, который любой из новичков может предпринять для приобретения хэкерских навыков, - это раздобыть копию Linux или одной из версий BSD-Unix, установить ее на персональной машине и запустить. Да, в мире есть и другие операционные системы помимо Unix. Но их распространяют в двоичном виде - вы не сможете читать коды и не сможете их модифицировать. Учиться хэкерству на машинах, работающих под DOS, Windows или MacOS - это все равно что учиться танцевать полностью загипсованным."
1) Perl 2) На LISP`е вы может никогда ни строчки кода не напишете, но он очень хорошо помогает понять функциональное программирование. И опять perl. Imho, C учить после perl & asm. Что-то слово "хэкер" нехорошо как-то звучит. Арви попахивает.
для Луки. мой путь: Basic->ASM (Apple)->Pascal->ASM (PC)->C->Prolog->FoxPro->ObjectPAL (Paradox for Windows)->C++->системы команд специализированных процессоров и микроконтроллеров->PAL (Paradox Dos)->Object Pascal->Transact SQL. всякие поделки типа С и С++ оставлены за бортом. ;-) начинать изучение программирования лучше всего с языка Pascal. ;-)
Кто такой "хэкер" (Eric Raymond "Как стать хэкером"): "Имеется некоторое сообщество, некая общая культура, состоящая из опытных программистов... Члены этой культуры и дали рождение термину "хэкер". Хэкеры построили Интернет. Хэкеры сделали операционную систему Unix тем, чем она является сегодня. Хэкеры ведут Usenet. Хэкеры обеспечивают работу World Wide Web." "Имеется и другая группа людей, громко именующих себя хэкерами, но они ими не являются. Это те люди (главным образом, молодежь мужского пола), кого тягают за взлом компьютерных и телефонных систем. Настоящие хэкеры называют таких людей "крэкерами" и не желают иметь с ними ничего общего. Настоящие хэкеры в большинстве своем считают крэкеров ленивыми, безответственными и не особо умными." Про Perl (юмор разумеется) Цитата из Линукс Газеты (http://gazette.linux.ru.net/lg89/bint.html): Олли: [Нетерпеливо] И что же сказал этот твой "мистер Бинт"? Стэн: Он сказал, что книги о Perl у них закончились, но у него был целый стеллаж книг по С. Сказал, что мне ещё повезло. Олли: Это ещё почему? Стэн: Он сказал, что для CGI лучше всего использовать C, потому что C - это профессиональный язык программирования, а Perl просто игрушка. Perl просто какой-то продвинутый скриптовый язык и всё. Олли: Да? Прямо так и сказал? Стэн: [Кивая] Мистер Бинт сказал, что изначально изучать С сложнее, но на практике он не такой обширный, потому что в С мало правил. Говорит, что Perl сам делает практически всё за тебя, и поэтому для того чтобы понять работу программы, нужно в каждом случае изучать что же именно он делает. И поэтому книги по С намного тоньше книг по Perl. ----------------------------- Стэн: [Кивая] Так сказал мистер Бинт. Он сказал что в Perl такой непонятный синтаксис, что часто трудно правильно определить интерфейсы, что приводит к всеобщей расхлябанности. Олли: А что ещё он сказал? Стэн: Сказал ещё, что С часто выставляют как полным опасностей по сравнению с Perl, но, фактически, в Perl просто нет нескольких багов из С, но сама "нечитабельность" Perl это ещё больший баг.
для Эрика Реймонда. мне Ваши высказывания напоминают речи руководители какой-то секты. прочитайте кто такой профессиональный программист: http://vt.spbgmtu.ru/demand.htm и успокойтесь наконец-то со своим хакерством.
Для Гостя Ха-ха-ха... Санкт-Петербургский Государственный Морской Технический Университет - не Беркли, а Зеленоград - не Silicon Valley. Про сектанство Это в чем же проявляется? :-) В том, что я Вынь не люблю? :-) Рассказать свой путь? bash-csh -> awk -> Perl -> C -> PL/SQL (по необходимости). Говорите "С" поделка? Ну-ну... :-)
Пальцы кинул, на шелле он умеет программировать )) ksh->sh->bash->csh =8-) Путь программиста? perl_one_line -> perl тоже путём считать? Эрик, а вы с Арви не связаны? ГШХ ))) Добавление от [date]1059572577[/date]: Кстати, а смысл той статьи совсем в другом )
Эрик Рэймонд не путайте божий дар с яичницей! Человек спросил не как стать хакером а программистом. Учить язык Лисп не совсем умный совет. Чего человек добьётся? Может отвращение у себя выработает к программированию.