Pull to refresh

Comments 97

я начал программированием заниматься на первом курсе, с паскаля. потом сидел дома и зачитывался книжками по С++, потом перешел на С# и ASP.NET. Неожиданно оказалось, что я могу что-то там сверстать и накидать css, а позже я не заметил, что могу кодить и на яваскрипте. Чуть позже устроился работать, и там пришлось выучить PHP. Что интересно, если учить PHP, а потом ASP.NET, то лучше понимаешь этот ASP.NET, а вот если сначала учить ASP.NET, то на РНР пытаешься внедрить кучу того, чего тебя заставили понять и выучить C# и Visual Studio.
>на РНР пытаешься внедрить кучу того, чего тебя заставили понять и выучить C#
веселое желание, не правда ли?

Но я бы посоветовал, учить сразу asp.net, потоп перейти на php легче, это как спуститься на ступеньку ниже.
вопрос блондинки — а зачем тогда спускаться на ступеньку ниже? эти языки (asp .net и php) различаются по своим предназначениям?
Нет, предназначение одинаково. Но платформы разные asp.net на винде, php на линуксе. Вы пока не знаете с чем будете работать. Так изучая проведете анализ и дальше выберете направление. Я к тому, что освоение php после asp.net как семочки.
И вы даже знаете кого-либо, кто в своём уме может завести продакшн виндовс+пхп сервер? :)
Такие люди работают в Microsoft :)
Вот сколько всего понаписали php.iis.net/

А вот я бы не стал. Не понимаю, зачем, какие бонусы.
На мой взгляд, паскаль — один из самых лучших инструментов для становления начинающего разработчика. Он прививает четкость мышления, азы алгоритмизации, построения структурированного кода и работы с вводом-выводом. Мне кажется, лучшего, чем турбо паскаль для начала — не найти.
Из личного опыта — сначала в школе изучал именно паскаль, потом перешел на С/С++, когда начал писать программы для Windows (десктоп приложения) — это мне дало базовые знания системного программирования, затем изучал ассемблер, форматы исполняемых файлов (мне кажется, это очень важно для понимания, что вообще происходит в системе). Потом пробовал дельфи, параллельно пробовал веб-программирование на PHP, и после этих экспериментов остановился на платформе .NET, на чем в данный момент и сконцентрирован по большей части. Сейчас для общего развития интересуюсь разработкой на Java (J2EE).
//
В принципе, свой путь я считаю началом пути по правильному для моих интересов направлению. Если я о чем-то жалею сейчас, так это об относительно небольшой практике.
доучить CSS, если есть хотя бы азы С — заняться C# в контексте ASP.NET. в любом случае надо учить SQL.
PHP — начинал с него, сходил на курсы в «Специалист», окончательно освоился с этим языком. Потом курсы по SQL… потом заинтересовался Javascript и ASP
Все что приходилось делать с помощью этого, было в основном для работы.

ИМХО можно начать с PHP 5 (ООП)
Для хорошего понимания Apache, Mysql, PHP надо также изучить Linux ИМХО. Для того чтобы полностью понять — как работает эта связка, так же желательно научиться нормально все это настраивать, чтобы было понятно от чего может тормозить БД, или глючить PHP. Хотя бы в общих чертах представлять — как это все устроено. Советую поставить (хотя бы на виртуальной машине) какой-либо дистрибутив, развернуть там сервер, настроить связку (подсказки можно почитать в статьях + man`ах). Придумать себе не очень сложную задачку, которая будет работать под вашей связкой, и на базе нее разбираться уже глубже с самой работой этого всего. Например написать небольшую CMS.
ох… ни раз пробовал подружиться с линуксом… но так и не хватило нервов :) но если все же это желательно, то почему бы и не попробовать понять как оно все устроено :)
Просто связка с LAMP достаточна популярна, и в то же время многим разработчикам не хватает более глубоких знаний о том — как это все устроено. Например мне довелось поработать немного в паре с программистом, который писал на PHP и javascript, но при этом никогда не видел в глаза C или C++ и жутко ненавидел Linux (при том, что он стоял на всех наших серверах) из-за этого на PHP у него встречались жуткие программизмы + мне приходилось регулярно поднимать сервак после его кривых рук.
Это не программист тогда.

Всякие лампы, денверы и прочее полнейшее зло. Новичкам это в руки вообще давать нельзя. Из таких вот новичков вырастают потом такие вопро «программеры». А потому кричат, что в России программерское образование х****е.
LAMP и денвер — это разные вещи :) Это как уровнять борщ и столовую…
Пистолет и пулемет вещи разные. Результат только один ;)
Какбы Вам объяснить, LAMP — это аббревиатура Linux + Apache + MySQL + PHP (или PERL), которая по сути обозначает платформу на которой запускаются скрипты. ru.wikipedia.org/wiki/LAMP

Денвер — это комплекс, который предназначен для быстрого запуска локального сервера под виндовс для тестирования скриптов.

Вы путая XAMPP и LAMP пытаетесь доказать непонятно что ;)

Я просто пытаюсь сказать, что любые готовые сборки (в любое количество букав в названии) для новичка есть большое зло.
Я начинал с денвера, сейчас я работаю на XAMPP'е под линуксом, при этом в ходе набирания опыта я постенно разобрался с тем минимумом настроек, которые мне нужны для работы.

Полноценный сервер я всё равно не буду настраивать ибо это работа админа (и врядли я буду знать столько сколько знает он, да и не нужно мне это), а вот поковырять php.ini, my.conf или httpd.conf я могу.

При этом согласен, что минимум знаний у программиста по админской части, как и у админа по программерской должен быть — часто возникают вопросы, которые «работают» на стыке админства и программинга — и нужно иметь возможность найти общий язык.
>вот поковырять php.ini, my.conf или httpd.conf я могу.
Скажу по секрету, в этом настройка обычно и заключается ;)
ну почему, например, пересобрать пхп с какими-то опциями я бы не брался (хотя на линуксе пару раз ради интереса пробовал программы компилить :) ). Кроме того, на реальном сервере ещё может быть нгинкс и т.д.
А это и не требуется. Разве что только ради интереса, но в реальной практике я таких случаев не припомню.

Может быть. И что? Там такая же правка файла конфига. Это же unix way, там все так.
Ну так вот к тому и приходим, что таких мелочей с правками конфига может насобираться очень много и если в это всё вникать, то получим уже не программера, а админа, который должен держать руку на пульсе событий, чтобы в этом полноценно разбираться.

Поэтому я не отступлюсь от свой вышесказанной мысль — идеальный случай — это админ с требуемым минимумом программерских знаний + программер с общим понятием об администрировании.
Берете у руки Debian Lenny, с официального сайта debian.org.
Установка довольно простая, разве что с разметкой жестких дисков новичку придется не сладко.
В конце установки программа спросит вас, что бы вы хотели установить сейчас. Выбираете веб сервер, базу данных. Ну и собственно все. Это если совсем по простому пути идти. Главное не волноваться, и все будет отлично.
Я считаю, что если человеку хватает усидчивости на программирование, то освоить Linux ему будет не очень трудно.
чтобы понять почему тормозит база неплохо было бы уметь делать архитектуру базы данных сначала ;) а не учить линукс… тюнинг базы данных больше работа сисадмина как мне кажется, хотя архитектор базы данных тоже весомый вклад вносит
Пригодится все :) SQL возможно будут давать в вузе (правда я бы не стал ручаться за уровень образования). Единственное — что я не знаю, что можно посоветовать из книг, поскольку я начальные знания получил по статьям в интернете, а потом после курса по базам данных в универе они более-менее упорядочились.
Почитать У. Стивенса в любом случае не помешает любому программеру )
А я скажу так, одмином если, что всегда успеешь стать. Страйся все понемногу капать, то к чему руки и душа лежат само придет )
Я изучал языки в такой последовательности:
1. Этап: «C»->«C++»->«ASM»->«XML»->«LUA» (Разработка PC игр)
2. Этап: «HTML»->«CSS»->«Javascript»->«PHP»->«SQL»
3. Этап: «С#»->Python->Perl (Это было уже любопытство и саморазвитие)

Но не советую тебе идти по моему тернистому пути…

Если это веб тогда сам понимаешь нужно знать основополагающие: (X)HTML + CSS, желательно хотя бы немного знать и JS, ну а дальше: (PHP||Python||Ruby) + SQL(PostgreSQL||MySQL||MSSQL)
советую не выбирать какой язык учить первым. это абсолютно не имеет никакого значения. программировать нужно с использованием языка, а не на языке. Выучите сначала как нужно строить архитектуру, как создавать требования, как называть методы в конце концов и что такое cohesion и loose coupling и почему одно из них должно быть сильным другое слабым…

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

я просто тоже как бы догадывался, что нужно понимать что ты хочешь сделать, и понимать как это сделать. а дальше вопрос только в реализации.
Совершенный код МакКонела — это уже наверное как библия :)
Рефакторинг Файлера — тоже интересная вещица
Можно еще прочесть Экстремальное программирование Кента Бека
Простите опечатался
Фаулер — фамилия автора книги Рефакторинг
По-моему, вы посоветовали чушь. Представте себе, что вы сейчас не знаете ни одного языка программирования (вообще) и сели читать фаулеровский «рефакторинг». Это и с моими более десятка языков чтиво занудное (хотя и полезное), а без бэкграунда — пустая трата времени. Сначала на достаточно хорошем уровне нужно таки выучить, разобраться и пописать школьно-студенческие задачки на каком-нибудь нормальном языке программирования. Почти на любом из распространённых, кроме, может быть нескольких — дельфи (бессмысленная трата времени на умирающую технологию и отжившую своё парадигму), бейсик (не лечит, только калечит) и пхп (убожество, возведённое в принцип) — эти в качестве первого языка не стОит. Потом, если захочется или понадобится, тот же пхп осваивается за два дня. А вот потом уже и архитектуру и требования и шаблоны и рефакторинг. А так — это всё будут пустые слова и ни к чему не привязаные идеи. Они забудутся мгновенно, а время и силы будут потрачены зря. Какая архитектура, без прочного усвоения основ алгоритмизации??? Какой рефакторинг без отличного знания языка? О чём вы? :)
ну это лично мое мнение и я советую с точки зрения своего какого то ни было опыта и тд и тп…
я считаю что тот же совершенный код можно читать и не зная языка абсолютно, рефакторинг — да там понуднее, ну а кому щас легко ?:)
Неее поддержу dime. Если нет хотя бы минимального представления о программировании то смысла читать абсолютно нет ни какого. Если человек к примеру не понимает/не знает что такое класс, полиморфизм или наследование, то о какой связанности можно вообще рассуждать?

Имхо, тоже самое, что пытаться понять теорию теплоперечи не знаю того же закона Фурье.
Ну не зря же в списке стоит «Совершенный код», эта книга даёт очень хороше представление о программировании в целом. Единственное, что хочется добавить, так то что паралельно с этими книгами нужно действительно читать, какой-нибудь хорошый учебник по конкретному языку. Кстати руби по-моему на данный момент очень хороший язык кандидат для того что быть первым.
Что бы понимать, что такое совершенный код нужно для начала хотя бы понимать что такое вообще такое код ;)

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

С практическое точки зрения забыли Стивенса ;)
да с переводом на русским у них не получилось, лично сам пока не добрался до оригинала :(
Про cohesion и loose coupling вы конечно загнули:) Это уже на более поздних стадиях, когда о проектировании архитектуры задумываться нужно.
Как всегда всё зависит от целей. Я бы посоветовал посмотреть в сторону Питона и ПХП. Лично мне кажется, что после изучения языков с динамической типизацией на более строгие перейти легче. Почему именно эти два. ПХП популярен и востребован. С нормальным знанием ПХП можно всегда найти работу в веб-деве. Причём не обязательно даже быть великим мастером, достаточно просто хорошо шарить. А на настоящей работе приходит настоящий опыт, там же можно выучить и смежные языки/технологии. Питон в первом приблежении лёгок для понимания. А главное не ориентирован исключительно на веб. С помощью Гугла и Питона можно решить практически любые задачи. Хоть расчёты делать, хоть графики строить, хоть 3D игры писать, хоть сайты.

Ну и конечно выучить SQL. На примере хотя бы MySQL.

P.S.: На счёт литературы. Сейчас много шлака всякого продают. Да и меняется всё очень шустро. Так что главные помошники это мануал и сайты по фреймворкам.
Вобще изучать новые языки полезно. Например щас изучаю руби\рельсы и понимаю насколько php некрасив и негибок
UFO landed and left these words here
Вот что бы руки росли откуда положено и голова работала и нужно освоить что-то новое для себя. Не обязательно гибкое, просто другой подход совершенно. Полезно.

Мне вот Erlang приглянулся. Первоначально именно уровнем потребляемых ресурсов в расчете на коннект.
Ну по-моему все любят рельсы за Rake. Сейчас модно, чтобы фреймворку можно было сказать накидать структуру проекта через консоль. У Django в принципе тоже аналогичная штука есть. А Zend только пытается догнать.

На счёт гибкости — это на любителя. Мне например строгие языки поперёк горла встают. И нравится Перловский / Питоновский подход. Люблю когда я могу дотянутся практически до любого места программы, если мне НАДО. Ну собственно у динамической типизации ещё много плюсов и разных фокусов. Но всё это на любителя.
UFO landed and left these words here
Эпоха энциклопедистов прошла. Раньше один умный человек мог худо-бедно вместить в своей голове практически все знания человечества. Это не люди тупеют, это знаний становится всё больше и больше. Думаю что лётчики, например, тоже по большей части достаточно примерно представляют себе внутренности самолёта, но это не мешает им летать.
UFO landed and left these words here
Ага, рассказывайте мне байки о ГОСТе от авиоконструктора. У нас друг семьй бывший военный лётчик (у них пенсия в 35 кажется, потому и бывший). В училище сдавать заставляют много всякой фигни, но не более того. Как раз ругался на страшные формулы, которые спрашивали, но от которых толку ноль. И ещё как спорили на две бутылки коньяка, что дойдут из пункта А в пункт Б без приборов. Вобще там какая-то своя субкультура, возможно только у нас разухабисто-раздолбайская, но что есть — то есть.
UFO landed and left these words here
Короче каждый останется при своём мнении. На счёт молодости тоже не скажу плюс это к выводам или минус. Наверное из училища все идеалистами выходят. Это пройдёт с опытом. Я лично никогда не поверю, что для управления неким аппаратом человеку нужно досконально знать его устройство. Знать нужно как этой штукой управлять и при каких экстренных ситуациях что делать. Остальное — лишний груз.
UFO landed and left these words here
Да, это конечно рэйк, консоль, генераторы и плагины. Ещё мне нравится синтаксис, и очень легкая перезагрузка, хэши в аргументах, сетеры — гетеры. В пыхе каждый раз загружается куча файлов, создается подключении и тд, а в рельсах приложение постоянно работает и принимает запросы.
Для пыхи симфони мне нравился, но как-то много памяти жрал
а я бы посоветовал, углубляясь в технологии не забывать про коммерческий аспект. то есть пытаться продавать свой труд. без этого после универа будет трудно.
простите, а что именно продавать ему сейчас? ему НЕЧЕГО пока продавать… вот когда выучится (черт его знает сколько это займет времени) тогда можно продавать труд
Я бы не рекомендовал начинать с майкрософтовских технологий и им подобных (типа JSF и пр.). На мой взгляд, они пытаются скрыть от разработчика как все внутри работает. Если вы действительно хотите вникнуть в суть вещей, то программирование мышкой — не для вас.

Какое-то новое понимание о принципах работы ОСей у меня пришло, когда я первый раз поставил себе Linux. Хотя сейчас с ним скорее всего не придется возиться — современные дистрибутивы ставятся не сложнее Windows. Т.к. ваша специальность — ПО, очень рекомендую поставить себе и поработать какое-то время.

Пробуйте разное… вам сейчас самое время для экспериментов. Apache, PHP, MySQL, PostgreSQL (желательно это все под Linux попробовать), пробуйте и ASP.Net под IIS с SQL Server'ом. Очень рекомендую посмотреть Python — чрезвычайно красивый и лаконичный язык, веб-фреймворки на питоне — TurboGears, Django и др. Пробуйте и javascript'овые — jQuery, prototype, mootools и др. Не останавливайтесь пока на чем-то одном.

Вам главное придумать себе задачи где все это применить пока энтузиазм не пропал. Сейчас у вас есть свобода. Если потом пойдете работать, всё будут придумывать и решать за вас.
Как показала практика линукс очень нужен. Если не играть в игры и уметь пользоваться гуглом, то легко на него перейти. Я поставил убунту и изучал по мере того как нужно было что-то настроить. В самом начале что-бы не пропал интерес и понять как это примерно должно быть, можно обойтись готовой связкой php + apache + mysql. Мне кажется что лучше читать електронные книги и походу запускать примеры. Я обычно не могу до конца разобраться, пока не поиграю с примерами. Полезно тусоваться на форумах для начинающих пока не надоест и смотреть исходные коды больших опенсорс приложений. Для php я сидел на softtime
Мне интересней изучать что-то не по программе, т.к. универ вызывает отвращение и оно передается на хобби.
JS — очень интересный язык со своим уникальным ооп. Всякие библиотеки делают его очень удобным, но сначала нужно нужно понять основы.
Фриланс полезен примерно пол года, потом — тормозит развитие. Можно устроиться на работу в какую-нибудь студию и там процесс обучения пойдет быстрей, но потом наверно придется от туда уйти, когда вырастешь.
Сессию можно сдать осенью ;) Если не стремиться к красному диплому(не часто туда ходить) то съэкономишь массу времени
как учили нас:
Pascal -> С -> C++ -> C# -> PHP -> ASP.NET
т.е. сначала сформировать у человека алгоритмическое мышление, далее ознакомление с тем, что является основой многих нынешних языков, далее ООП, ну и под заключение самые популярные веб-языки.
где-то в районе С++ и C# был SQL (и бд в общем)
это вкратце и чисто с практической точки зрения. было много теории, алгоритмизации, управление проектами и прочего… всё-таки не один год тратится на это…
Ах да, совсем забыл про ASM… но это не мое, вот и пропустил.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Начинать нужно с низов. Ассемблер конечно перекосы, но на нем очень хорошо архитектуру ЭВМ учить:)
Лучше всего начать с С. Обычное процедурное программирование. Ручное управление памятью, выделение, высвобожднние. Паскаль в этом плане ну уж слишком академический.
Затем, освоившись с этим перейти к строгому ООП языку, например Java или C# — и наслаждаться самой концепцией ООП и, что самое главное — динамическим массивами и сборщиком мусора(первое время после си — ну просто супер:))
Затем, если на этом этапе не остановитесь конечно, посмотреть какой-нибудь динамический язык — Perl Python или Ruby.
Лучше все три, по очереди:) Сам, как рубист, борюсь с желанием советовать первым изучить Ruby, но, не пограммировав на других языках вы не поймете всей прелести Ruby. Как извесно познание приходит в сравнении;)
Php, если не собираетесь работать на нем, лучше не смотреть, ничего нового/полезного там нет.
А если избрали его для будущей работы — не смотрите никакие другие динамические языки. Работать потом не сможете:)

После такого курса — любой следующий императивный язык будет осваиваться за три-четыре вечера. Потому что будет понимание как оно внутри работает©, что такое ООП(Java/C#), что такое динамическая типизация, всякие фишки типо метапрограммирования(Ruby/Python).

Дальше уже можно осваивать технологии, если решили идти в вебдев — то HTTP, сесии, куки, HTML, Javascript, сервера(Apache,Nginx,Lighttpd).
Тут(да и на всех предыдущих этапах) очень полезен юникс какой-нибудь. Были сложности с линуксами — поставте самый простой ubuntu. Проще чем виндовс ставится.

Опять же, нужно изучать не только языки, но и технологии. Банальная работа с файлами, базы данных(SQL), работа с сетью(сокеты), окошки(GUI).

Очень хорошо во время обучения ставить себе задачу. Например написать какую-нибудь утилитку типа будильника.
Тут сразу осваивается язык и библиотеки. Освоите GUI для рисования окошка и работу со звуком(или даже проигрывание mp3:)). Такие учебные программы обычно по десять раз переписываются с нуля, потому что все время приходит в голову мысль что «все не так, а должно быть так».

А вот после всего этого курса можете посмотреть что-нибудь функциональное. И сломать себе мозг после императивщины:)
А мне кажется нужно наоборот. Для схватывание общей сути, для развития мышлению в категориях поставленой задачи, алгоритмами, а не кусками кода. А разные низкоуровневые заморочки в духе управления памяти как раз будут отвлекать от поставленой задачи. А вот когда этот этам уже более менее осваивать тогда и можно узнать, что тех же двухмерных массивов мы не получим, что памяться под программу распределять, а не надеяться на тот же интерпретатор.

Имхо, обучение должно идти кусками.
Главное это иметь цель в нашем случае конкретную программу которую нужно написать. Идеальный вариант это найти заказчика\работу программиста за маленькие деньги (большие деньги тем кто ничего не умеет платят только идеальные заказчики в вакууме).
Язык для начала выбирай тот по которому много доступной информации для тех кто начинает с нуля (php однозначно, любые грабли на которые ты наступишь в ближайший год — два, будут находится с одного запроса на гугле).
Ну и самое главное — учится, не забивай на универ — учи матчасть.
Вот тут много интересного: youtube.com/edu
твойу ж за ногу… :)))) Ты быстрее написал :)
бред… начните с того, начните с этого, тот язык лучше, тот язык хуже, переход с одного языка на другой…
Сказали ровно тоже самое что преподают в университетах… Единственный кто ближе всего к истине это: tovarisch.
Только не надо делать хомяка, а надо просто задаться какой-то РЕАЛЬНО НЕОБХОДИМОЙ ЦЕЛЬЮ и идти к её выполнению, выбирая инструментарий, средства разработки. Изучая конкуренцию Цели. И не стесняйтесь своего результата, что он недостаточно быстрый, кривописанный, есть в миллионы раз лучше — это ВАШ ресурс и только ВЫ его ВЛАДЕЛЕЦ, это ВАША цель.

Мои стартовые цели: Homepage с кучей Gif-анимации (тогда было очень популярно, сейчас нафик ненужно)

Когда-то мы первыми целями для учебы в РНР, если не ошибаюсь в 98 еще году, ставили написать GuestBook к HTML-ому первому хомяку с кучей GIF-картинок, потом его было мало разработал и ставил TOP100 на порнушниках (да, жрать тоже изредка хотелось), потом уже разработал первый серьезный сайт по тому времени с каталогом по мобильным телефонам, фактически на нем по-человечески и научился работать с РНР, так как приходилось дописывать постоянно и постоянно в условиях растущей конкуренции… ну а дальше… дальше уже неинтересно и как-то обыденно что ли? :)
UFO landed and left these words here
эээмм… насколько я знаю, у нас (в Новосибирске) дай бог 1-2 ВУЗа из не одного десятка предлагают вступительный экзамен информатика. заметьте — информатика. а экзамен состоит из 10 заданий аля посчитать сумму двух двоичных чисел, посмотреть блок-схему и сказать что она выдаст… ну и прочее, прочее, прочее… верх сложности это написать на листочке программу на паскале или бэйсике. это я про ЕГЭ. а сейчас все переводят на эту систему. у нас вот программирование в ВУЗе начиналось с нуля. первый семестр гребаный паскаль, второй семестр — основы си. оба семестра получаю автоматы за экзамены. ну легко тут все…

а пхп я не пытался два года изучать. пытался в классе 9 в течении трех дней. а в школе сами знаете как — шило в одном месте, и не до этих заморочек. сейчас я хоть изучаю то, что мне интересно. да, лишний мусор в виде левых предметов тоже есть, но все равно бОльшая часть мне интересна. поэтому есть вполне логичное желание учиться дополнительно самостоятельно.
Вы для начала закончите пару курсов. Если легко на занятиях по си — попросите у препода задачку посложнее. Универ научит вас думать. А где потом эту думалку применять (PHP или ASP.NET) дело 10ое.

И вообще переводитесь на ФИТ))
знание языка программирования нигде не нужно, даже в крутом универе — там всегда 2 семестра отведено на основы
У меня в избранном лежит один комментарий — думаю, он содержит как раз то, что вам нужно, цитата:
1. Математика
2. Теория алгоритмов, структурное и объектное программирование
3. Семантика языков программирования
На дому?? :)) Это же основные университетские предметы, там их и надо учить
UFO landed and left these words here
Мне кажется, что один из очень хороших способов чему-нибудь научиться — это попробовать что-то в деле.
Придумайте себе какой-нибудь проект. Например, тудузы с синхронизацией на телефон. Или, скажем, агрегатор RSS. Или, может быть, сервис, который помогает не забыть кому дал книжки (диски, игрушки).
Короче, что-то не сложное, что-то уже реализованное и, желательно что-то, что охватывает много технологий.

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

Если у Вас хватит задора довести проект до конца, покажите друзьям, пусть покритикуют. Если получилось хорошо, то можно в резюме включить :)

Кстати, книгу г-на МакКоннелла очень рекомендую читать после написания большого количества кода. Мне кажется, тогда всё, что он говорит, намного нагляднее и как-то конкретнее.
по теории тут уже много советов дали,
а вот по практике я бы советовал как язык изучать Java, затем как фреймворк для веба — grails, ну а в нём столкнётесь и пощупаете почти всё, что нужно как для чистого веба- html/css/js, так и не только — SQL, скажем, или MVC(кстати, а вы знаете что это такое?).

а вот PHP(особенно учитывая ваш невысокий уровень) я бы посоветовал всё-таки забыть и не вспонимать.
мне безумно интересно!
есть огромное желание
любопытный
я интересуюсь очень многим
есть огромное желание

и бла бла бла

А в итоге за пару лет вы ничего не выучили, за C взялись — не выучили, за php взялись — не выучили, html немного, css немного, за linux взялись — нервов не хватило…

Может у вас очередной запал что-нибудь выучить из любопытства, который скоро потухнет? У меня тоже такое часто, если посмотреть на все валяющиеся у меня дома книжки — так я знаю и умею все :)) А на деле все иначе. Нет никакого смысла учить что-то просто так, без применения. Сначала определитесь что вы хотите — админить сети, верстать сайты, создавать веб-приложения, что-то конкретное. Затем придумайте себе интересную задачу — может вы там подсвечивалку кода захотите написать, веб-кальулятор или косынку в браузере — и вот тогда спросите совета по языку и технологиям. А то сдрасьте, я что-то хочу — удивите меня :)
1-й курс… подумайте еще раз, нужно ли вам вообще заниматься программированием, если вы до сих пор не знаете с чего начать и куда идти. Может имеет смысл попробовать себя, например, в генетике, биотехнике или вирусологии (какой там у нас следующий грипп в списке? кошачий?) — тоже весьма перспективные и востребованные направления.

Поясню свою точку зрения.
Думаю, я не сильно ошибусь, если буду утверждать, что авторы болшинства приведенных «success story в комментах» начинали программирование как хобби лет этак в 14, если не раньше. 14 лет — это возраст, в котором можно неспеша пройтись по трем-четырем языкам, основательно их покопав, потратив на это примерно 7 лет жизни. У вас, на первом курсе, просто нет такого запаса времени. Вы банально рискуете не успеть выйти на должный уровень подготовки.

P.S. «Восьмилетний мальчик сдал экзамен Microsoft» — все знают, да? Так что подумайте еще раз, стоит ли?

Я знаю одного человека, который только на старости лет научился программировать — и, вы не поверите, его программы стали продаваться, они оказались нужны другим! И подобных (не связанных с IT) примеров множество. Никогда не поздно.

По первой части согласен, в общем-то, искать нужно везде.
Все относительно и учиться ни когда не позно, особенно если к этому выявляется склонность.

ЗЫ. Я к примеру в 14 лет даже о БК или Спектруме мечтать не мог, какой PC ))
UFO landed and left these words here
Я задал очень грамотный вопрос знающим людям, ответы были очень доступные, и для меня дали хороший ответ, как раз по вашей теме, читаем.
Зачитались просто =) Вы уж проверяйте комментарии перед\после того, как публикуете.
UFO landed and left these words here
Only those users with full accounts are able to leave comments. Log in, please.