да, вот только программирования в вакууме не бывает. оно всегда прикладное и область применения - вот это и есть то, что определяет навыки и опыт программиста. а не функан и ВО. формально изучить любой ЯП нет никаких проблем. на это уйдёт не более месяца. проблемы будут с реальным применением, когда надо будет решать конкретные задачи, в рамках конкретных систем.
1. Начал бы с английского, чтобы как родной. Сейчас на это только 2 часа времени удается выделить, да и то иногда с перерывами на неделю, когда много всякой фигни наваливается.
2. Не тратил бы годы на скриптоту, а сразу бы перешел к Java
3. Да, как и отписавшие выше +1 за линух
4. Изучил бы официальную документацию на процессор, но это не точно, возможно начинающему это просто будет мало понятно.
А без Си это невозможно узнать? На самом деле, если разбираться с тем «как работает память» на примере более современного языка, то знать о памяти ты будешь куда больше, чем после Си.
Не, те которые современные, тонкие и легкие. И брал бы 13, а не 14. Профит в раскладке для программирования в IDE. Нормальные стрелочки, а не хрень как на маках и остальных идиотах их копирующие. Плюс рядом со стрелочками PgUp и PgDn, которые программно заменяются на Home и End, в итоге получается удобная навигация по тексту при его написании и редактировании.
либо ты не понял, что лекции можно заменить контроллируемым самообразованием с хорошо подобранными материалами - и это будет куда эффективнее. но то что ты не понял - это твои проблемы, доказывать мне тебе этого нет желания.
не знаю, мне было интересно узнать про работу с памятью когда я впервые изучал это - подогревало интерес. если бы стояла кокретная задача построить нех, то да, бери инструмент и как можно быстрее делай. задача - познать азы программирования и развить к этому интерес.
Не, те которые современные, тонкие и легкие. И брал бы 13, а не 14. Профит в раскладке для программирования в IDE. Нормальные стрелочки, а не хрень как на маках и остальных идиотах их копирующие. Плюс рядом со стрелочками PgUp и PgDn, которые программно заменяются на Home и End, в итоге получается удобная навигация по тексту при его написании и редактировании.
ходят и говорят (я не про тебя конкретно), что вим-лайк управление для школьников, потом появляются такие сообщения, в которых берут 13 а не 14. было бы у тебя в иде вим управления, и если бы ты им пользовался, клава бы тебя вряд-ли так беспокоила.
Не читал бы шилдта. И Подольского. И начал бы с Асма, а не вижуал студии и mfc. Бейсик бы совсем не трогал. Хотя на вб я в детстве переделал программу из книжки lucky seven, на программу fucking nine, которая при выпадении трёх девяток лочила нахер винду.
Как будто это рокетсайнс, в нормальных IDE давно есть поддержка вим управления
и если бы ты им пользовался
А зачем? Мне достаточно Home/End и несколько других горячих клавиш в IDE, которых хватает за глаза для программирования. Я уж не говорю о том, что умная IDE понимает тебя с полуслова и не нужно устраивать цирк коней на клавиатуре с +100500 комбинациями редактирования текста.
клава бы тебя вряд-ли так беспокоила
Меня она не беспокоит, выбираешь ThinkPad и у тебя нормальная клава для программирования.
2. Интересно, а где/как оно хранится?
... (изучаешь как ОС выделяет память, какие бывают менеджеры памяти, оптимизации скалярных типов и небольших составных, боксинг, сборка мусора
изучение go к пониманию низкого уровня не приведет, нужно читать отдельную литературу, так и запишем. (кнута тоже посоветовал. для новичка. здорово. спасибо. ты сам то его читал?)
такой подход зайдет только для людей которые имеют представление о том чего они не знают. с си, пямять - это бонус (который должен дать представление, имхо важное, о том что может происходить под капотом).
сразу бы начинала с онтопика (правда, его в во времена моей учёбы ещё не было толком). ну, хотя бы с юникса.
Мне (и думаю многим другим) это было бы довольно затруднительно сделать в самом начале 90-х. Как вспомню. У меня даже своего компа до 95-го года не было, да и тогда вначале это был дешевый 286-й (что для 1995 уже слишком старым было), так как жили довольно бедно. В институте же кроме списываемых в то время всяких ЕС, СМ и VAX были тотально только ms-dos и винда.
Но я бы тогда стал больше налегать на теорию и математику, а не практику, и во всяком случае на C/C++ (пусть и борландовские для ms-dos/вин), а не паскаль. Потому что сейчас могу сказать, что толку-то от той практики, что я тогда знал разные изощренные методы работы с турбопаскалем, а также с программированием vga через порты. В итоге оно и не нужно и почти полностью напрочь забылось.
И еще: поменьше бы всяких общекомпьютерных журналов бы читал. Спустя 20 лет могу сказать, что на 90% это было только засорение мозгов. Всякие там компьютерры и компьютерпрессы и прочие миры пк. Ну какой-нибудь один или пару было бы полезно иногда по диагонали просматривать просто, чтобы быть в целом в курсе трендов, так сказать и не более.
в 94-м у меня был 486-й. а вот в универе компов бы не было вообще, если бы не Сорос. он проспонсировал из своего фонда закупку компьютерных классов и проведение интернета в Универ. но мы тогда в Универе и не занимались. общались через модемы с одногруппниками. а в общаге матмеха была самодельная локальная сеть. однако программирование железа типа матричных принтеров, модемов и режимов vga мне пригодилось если не напрямую, то хотя бы косвенно. потому что я потом много работала с разным железом. а железо не зависит от системы.
а вот журналами про компы я никогда особо не увлекалась. в детстве выписывала Квант, Науку и жизнь, Юный художник. пожалуй, на этом всё.
программирования в вакууме не бывает. оно всегда прикладное и область применения - вот это и есть то, что определяет навыки и опыт программиста
В вакууме не бывает, согласен, но это не «навыки программирования», это, как правило, какой-то хитрый матан (кроме бизнес-логики, где чистая арифметика 1-го класса средней школы). Например, вспомним системы диффур, камерные модели и численные методы их решения, типа методов Рунге-Кутты или Монте-Карло. В этих задачах, при понимании чего ты делаешь, программирование занимает исчезающе малую роль.
программирования в вакууме не бывает. оно всегда прикладное и область применения - вот это и есть то, что определяет навыки и опыт программиста
В вакууме не бывает, согласен, но это не «навыки программирования», это, как правило, какой-то хитрый матан (кроме бизнес-логики, где чистая арифметика 1-го класса средней школы). Например, вспомним системы диффур, камерные модели и численные методы их решения, типа методов Рунге-Кутты или Монте-Карло. В этих задачах, при понимании чего ты делаешь, программирование занимает исчезающе малую роль.
В вакууме не бывает, согласен, но это не «навыки программирования», это, как правило, какой-то хитрый матан (кроме бизнес-логики, где чистая арифметика 1-го класса средней школы).
вот читаю твои сообщения и складывается ощущение, что ты закончил математический и из программирования видел только несколько лаб по нуманализу.
в проектах не нужно укрощать нарастающую сложность. дебаггинг для неопытных. навыки абстракции прогеру не нужны. алгоритмов не существует, а те, что существуют - все равно в std. архитектура закладывается на начальном этапе. угловые кейсы покроются методом монте-карло.
короче знай хитрый матан или, если пойдешь в бизнес логику, арифметику за 1-й класс и голодным ты не останешься.
какой-то редукционизм выходит. попробуй-ка еще разок.
да, вот только это нафиг никому не нужно, если ты не сидишь на родной кафедре, которая тебя выпустила. в реальной жизни как-то больше нужно знать про сети, сокеты, потоки и прочие такие вещи. и хотя бы примерно представлять себе штук 50 разных RFC. ну и уметь применять на практике отладку, профилирование и прочие девелоперские утилиты, быть способным быстро поднять и настроить сервер и всякие необходимые для работы средства. это как раз то, чего студент, как правило, не умеет.
с методологиями обучения этих благородных донов я мало знаком. просто скажу, что, принципиально, самообразование дома != предлагаемое самообразование в универе по простой причине наличия людей, которые могут помочь определить вектор развития и оценить текущий таковой. очень важно, хоть и само собою разумеющееся: все должны обладать должным подходом, в основе которого должна лежать гибкость, ненависть к булшиту, реализм (ошибающийся только в сторону оптимизма) и ориентированность на оптимальный результат.
в реальной жизни как-то больше нужно знать про сети, сокеты, потоки и прочие такие вещи. и хотя бы примерно представлять себе штук 50 разных RFC. ну и уметь применять на практике отладку, профилирование и прочие девелоперские утилиты, быть способным быстро поднять и настроить сервер и всякие необходимые для работы средства.
в проектах не нужно укрощать нарастающую сложность. дебаггинг для неопытных. навыки абстракции прогеру не нужны. алгоритмов не существует, а те, что существуют - все равно в std. архитектура закладывается на начальном этапе.
Я выше уже говорил, что очень уважаю про-кодеров и не умаляю их навыки и профессионализм, я понимаю усилия лидеров индустрии по созданию ауры сложности и элитарности - это отличный способ подтянуть молодых людей и это нормально. Я говорю лишь о том, что IT и программирование, в частности, это не головокружительно интересное приключение - это относительно простая технологичная рутина, это не жвачка для мозгов, а скорее отличный способ вырастить в этом самом мозгу отличные крепкие кости.
это не может быть «пройденным этапом». это монте-карлы - говно мамонта, один раз и на все века уже реализованное и давно отлаженное. а вот сети и системы - это то, что постоянно меняется.
Подошёл бы к вопросу чуть более формально. Я никогда не учился программировать. Я просто писал код. Этот метод легко может оставить серьёзные пробелы в знаниях даже в банальных нюансах.
Плюсану, пожалуй. Нет, книжки я, конечно, читал, но в целом как программист я самоучка.
А так я бы, пожалуй, уделил бы внимание изучению какого-нибудь функционального ЯП. Даже если бы он не стал моим основным рабочим инструментом (что скорее всего), иной взгляд на вещи помог бы в работе. Я могу, конечно, и сейчас попробовать упороться эрлангом, например, но и времени мало, и мозги закостенели сильнее. Ещё жалею, что не изучил теорию компиляторов и инструменты типа flex/bison.
Другое дело, что первыми программируемыми девайсам в моей жизни оказались «Электроника БЗ-21» и «Мир-2», где выбор языков был не особо большой. А первым купленным компом - «Партнёр», где выбор был из Бейсика, Ассемблера и Форта.
многие ровесники вляпывались в Delphi или PHP, может поэтому никто из знакомых до разработчика так и не дорос
Бред. Ну насчёт PHP вопрос спорный, язык действительно бардачный и не способствует дисциплине (но и в этом случае решает прокладка между стулом и клавиатурой). А объектный Паскаль, лежащий в основе Delphi — очень хороший прикладной ЯП. Ну если, конечно, начинать изучение с нормальных хелловорлдов и основных конструций, а не с таскания компонентов мышкой на форму.