singlepost

с чего вы начинали? << На главную или назад  

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

106 ответов в теме “с чего вы начинали?”

  1. 106
    Артём Шалхаков ответил:

    2 Владимир Ильяшов
    >влияние/реализация компилятора все равно должно сказаться…
    конечно, скажется. :)
    но у Хаскелла того же _очень_ сильное сообщество.
    например, эти комрады ускорили результаты одного из бенчмарков Programming Language Shootout на 30% за четыре месяца.

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

    >Т.е. ближе к отладке, чем к оптимизации по размеру/скорости
    ну так сначала отладить, чтоб работало без проблем, а потом можно хоть заоптимизироваться :)

  2. 105
    Владимир Ильяшов ответил:

    2 Артём.
    К сожалению, по поводу функциональных языков у меня пробел, поскольку сталкивался только с Лиспом, да и то давно, в рамках образования/развития…но свои 5 копеек постараюсь бросить ;)
    Соглашусь с высказыванием по поводу меньшего количества ошибок, поскольку их вероятность, теоретически, должна быть значительно ниже, хотя влияние/реализация компилятора все равно должно сказаться… Вот только у функционального программирования, как и функциональных языков, присутствуют ограничения либо не позволяющие, либо значительно усложняющие их применение.
    Кстати, почему то, функциональные языки крайне редко используют как первичные для обучения программированию или базовые для коммерческих проектов…
    А что же касается верификации, то она, преимущественно, afaik, направлена на повышение стабильности. Т.е. ближе к отладке, чем к оптимизации по размеру/скорости.

  3. 104
    Артём Шалхаков ответил:

    2 Владимир Ильяшов
    >чем больше объем кода, тем выше вероятность наличия там ошибок и тем больше этих ошибок
    ответ такой проблеме — писать на функциональных языках или в функциональном стиле, и забыть про асм и тру-ООПнутость

    >Оптимизация, отладка и доводка программ редко бывают лишними…
    вы путаете оптимизацию с верификацией

    ЗЫ хорошо, конечно, иметь представление о том, во что компилируется ленивый Хаскель (взял для примера), но не обязательно

  4. 103
    Виктор Григорьев ответил:

    Не надо переходить на личности, я пытаюсь держаться, хотя терпения уже нет. По каждому пункту я пытался дать ответ, но в ответ сталкивался с непонимаем. Если есть желание продолжить эту "беседу", прошу в лику или icq. Мы уже далеко отклонились от темы этого топика.

  5. 102
    Maxim Sharko ответил:

    начал со школьной скамьи на паскале, далее Delphi а щас сижу на С#

  6. 101
    Владимир Ильяшов ответил:

    Артём,закон Мура, конечно, веское основание, но…благодаря ему растет и количество ненадежного программного обеспечения (чем больше объем кода, тем выше вероятность наличия там ошибок и тем больше этих ошибок). Опять же, благодаря ООП и использованию "чужих" модулей мы значительно ускоряем процесс создания, теряя в качестве кода… И т.д.
    Да, большинству современных программистов достаточно собрать мозаику форм/объектов, подключить библиотеки и прописать свойства/параметры для большинства поставленных задач… И это экономически оправдано, но!:
    1. Желательно разбираться в своей программе достаточно хорошо, а не только на уровне форм. Оптимизация, отладка и доводка программ редко бывают лишними… а иногда являются просто обязательными при реализации серьезных задач.
    2.Мы рассматривали программирование на языке ассемблера. Данный язык в настоящее время используется, как правило, для задач, требующих максимальной оптимизации по скорости и/или размеру. В остальных случаях, обычно, используют языки высокого уровня.

  7. 100
    Артём Шалхаков ответил:

    2 Владимир Ильяшов
    >оптимизировать можно всегда
    это-то понятно :)
    другое непонятно: зачем?
    во первых, закон Мура еще никто не отменял.
    во вторых, процессорное время нынче дешевле, чем человеческое.
    в третьих, программа часто сразу оказывается "достаточно быстрой".

  8. 99
    Владимир Ильяшов ответил:

    2Артем
    ==quote on==
    а что за оптимизации такие?
    ==quote off==
    Просто примитивные примеры экономии в коде или скорости, применительно к машинным кодам/архитектуре.

    ==quote on==
    вы не микроконтроллеры программируете, часом?
    ==quote off==
    Нет. У меня сейчас другое направление деятельности в ИТ-сфере… Просто достаточно давно уже с компами… с 198х года.. Уже успел и напрограммироваться, кодить, отлаживать, немного попреподавать…
    В старое время, например, когда появился onehalf, а аidstest не умел проводить дешифровку и соответствующий drweb еще не вышел, ит-шникам приходилось самим браться за трассировщики/дизассемблеры… Так что все ИТ-шники того времени сталкивались с программированием в большей или меньшей степени. А где программирование – там и оптимизация, особенно, если начинаешь писать не только для себя…

    Здесь же (последние посты) просто стараюсь доказать, что оптимизировать можно всегда, вне зависимости от уровня языка… т.е. как на высоком, так и на низком уровнях.

  9. 98
    Артём Шалхаков ответил:

    2 Владимир Ильяшов
    а что за оптимизации такие?
    вы не микроконтроллеры программируете, часом?

  10. 97
    Владимир Ильяшов ответил:

    #96
    Ага, сам привык словами оперировать, поскольку полноценно дебагом начал на 8088 заниматься… благо в те времена Касперский выпустил превосходные трассировщик и перехватчик.
    #97
    Ндя, трудно убедить человека, у которого единственный аргумент в споре: "все дураки, одна я королева" ;) … просто нет смысла… Особенно, когда для оппонента смысл спора в самом споре, пустом флуде, а не в нахождении истины.

    Так что пишу для тех, кто не понимает и хочет понимать и учиться:
    По-умолчанию массив из n чисел от 0 до 255 будет занимать n*8 бит, т.е. n байт.
    При работе без оптимизации на 16-разрядной платформе, оперирующей словами, такой массив займет n слов, т.е. 2*n байт. Соответственно, преобразовав массив из n байт в n/2 слов (обработку для разницы при четном и нечетном n не учитываем) получаем выигрыш в n байт по памяти, занимаемой данными минус функция/подпрограмма извлечения байт из слов, т.е. явный выигрыш при n>кол-ва байт в данной функции и ее вызовов.
    При работе без оптимизации на 32-разрядной платформе, оперирующей двойными словами, массив займет n двойных слов, т.е. 4*n байт.Далееаналогично…

  11. 96
    Виктор Григорьев ответил:

    здец. ты непробиваем
    "Т.е. теряем скорость на обработке данных, но выигрываем в памяти." не знаю, чего ты там по скорости теряешь, но по памяти ты ни байта не выигрываешь

  12. 95
    Игорь Ру ответил:

    ок. я не прав в отношении терминов
    16-ричное – так привычней – исторически сложилось.

  13. 94
    Владимир Ильяшов ответил:

    #92
    Не надо снова скатываться на уже указанный в мною #83 стиль. Если уж говоришь, что я преднамеренно лгу в целях популярности, то аргументируй. В чем может быть сложность доказывать свою правоту с помощью фактов? Только в отсутствии этой самой правоты!.. Возможно собственной демагогии? ;)

    #93
    Похоже, у нас возникло небольшое недопонимание из-за отсутствия четкого отношения/определения ассемблера. Я, говоря об асме, подразумевал набор разработки программ в машинных кодах и связанный с ним язык. Т.е. основные инструкции архитектурно-ориентированного асма соответствуют машинным кодам, но есть и такие, которые не преобразуются в бинарник "напрямую", а являют собой ссылку на совокупность данных или команд в машинном коде.
    Что же касается самого машинного кода, то:
    //ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D0%B...
    ===кусь===
    Машинный код (также употребляются термины собственный код, или платформенно-ориентированный код, или родной код, или нативный код — от англ. native code) — система команд (язык) конкретной вычислительной машины (машинный язык), который интерпретируется непосредственно микропроцессором или микропрограммами данной вычислительной машины.
    ===кусь===
    Т.е., то, на что вы ссылаетесь – всего лишь число, которому соответствует инструкция процессора, а бинарное у него представление или 16-ричное – разницы большой не имеет.
    Какая разница, буду ли я писать 144d, 90h или 10010000b?


    Кста, вот еще пример оптимизации по памяти, учитывая архитектуру:
    ===исходные данные===
    массив из 1000000 чисел от 0 до 255
    =================
    ===оптимизированные под 16х данные===
    массив из 500000 чисел от 0 до 65535
    =================
    ===оптимизированные под 32х данные===
    массив из 250000 чисел от 0 до 4294967295
    =============================

    Т.е. теряем скорость на обработке данных, но выигрываем в памяти.


    Кстати, по поводу оптимизации в машинном коде, для тех кому лень ходить по ссылкам, приведенным в #83, привожу пример с одной из них тут:
    ===кусь
    Данный метод оптимизации состоит в замене одной или нескольких инструкций другим, но функционально эквивалентным набором, дающим выигрыш для целевой архитектуры. Так, для конвейерной архитектуры разделение сложных инструкций на более простые может давать выигрыш в быстродействии, если несколько инструкций могут быть паралленьно выполнены на конвейере. Так, например, процессор Intel Pentium MMX быстрее выполнит набор инструкций

    dec ecx
    jnz метка

    чем эквивалентную ему инструкцию loop метка, для ранних процессоров архитектуры x86, от 8086 до 286, всё иначе, так как они выполняют инструкции неконвейеризированно, вследствие этого, команда loop метка создаёт более экономичный и быстрый код для этих процессоров.
    ===кусь===

  14. 93
    Сергей Андрианов ответил:

    Лет в 12 уже писал калькулятор, который читает данные из файлов, на Quick Basic))) Потом – Turbo Pascal в школе и Visual Basic 6. Сейчас вот С#…

  15. 92
    Игорь Ру ответил:

    >"Для оптимизации по размеру программ на асме или в машинных кодах знание размера инструкций тоже не самое главное, оптимизация по памяти, в первую очередь, сводится к уменьшению размера кода программы за счет циклов, вызовов и прыжков, а во вторую – уменьшение обьема данных программы… как общего, так и используемого."
    согласен
    >Часть инструкций асма – будут набором данных или совокупностью машинных команд.
    ясна. ты имеешь в виду машинный код как система команд процессора, а ассемблер уже как поддерживаемый набор инструкций компилятора(многие из которых раскладываются на последовательность поддерживаемых процессором и т.д.)
    я имел в виду машинный код – hex коды, а ассемблер – аппаратная характеристика, набор команд процессора

  16. 91
    Виктор Григорьев ответил:

    Согласись, ты сейчас развёл демагогию ;)
    Конечно, со многим, сказанным тобой, я согласен, но в общем я уже всё сказал…

  17. 90
    Владимир Ильяшов ответил:

    Что касается простой оптимизации по памяти, вот самый примитивный пример:
    =без оптимизации==
    90
    90
    90
    90
    ==

    =с оптимизацией==
    ==

    Что же касается ссылок, то там:
    1. Объясняется, что демагогия – суть ложь. Я могу быть не точным, но лжи в моих словах быть не должно…
    2. Дано определение абстракции.
    Так что мой комментарий, про оптимизацию применительно к факторам, а не абстракной был к сообщению №75 "алгоритмическая же оптимизация – фактически должна абстрагироваться от всяких машинных кодов, ассемблеров и языков программирования"
    3. Даны определения и примеры оптимизации.
    Мой ответ №80 на то же сообещиние, который был назван ложью:
    "Для оптимизации по размеру программ на асме или в машинных кодах знание размера инструкций тоже не самое главное, оптимизация по памяти, в первую очередь, сводится к уменьшению размера кода программы за счет циклов, вызовов и прыжков, а во вторую – уменьшение обьема данных программы… как общего, так и используемого."
    Т.е., как пример, вместо того, чтобы запускать 100 сумматоров можно обойтись одним и джампить/коллить на него.

  18. 89
    Владимир Ильяшов ответил:

    В том то и дело, что то что не совсем. Каждому машинному коду соответствует инструкция асма – точнее. Часть инструкций асма – будут набором данных или совокупностью машинных команд.
    А то что то привел – всего лишь двоичное представление числа. А вот числу уже, в силу определенныхусловий, типа процессор, разрядность и т.п., может соответствовать определенная инструкция.
    Знание же архитектуры позволяет провести оптимизацию именно под ассемблер или машинные коды.

  19. 88
    Игорь Ру ответил:

    Владимир Ильяшов
    по твоим словам есть еще один уровень оптимизации ниже ассемблера – на машинных кодах. но ни в одной из приведенных на статьи ссылки я не увидел машинных кодов) а тем более оптимизации на их уровне. да и какая может быть оптимизация?? в асме каждой инструкции соответствует определенный машинный код, или у тебя не так?:)

  20. 87
    Виктор Григорьев ответил:

    во-во, как говорится +1

  21. 86
    Виктор Григорьев ответил:

    стоп. либо я тебя, либо ты меня неправильно понял

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

    еже ли нет
    1. это не аргумент(я просил пример, оптимизации именно в машинных кодах, не на ассемблере)
    2. я надеюсь, ты ссылки тоже прочитал :)

    под машинным кодом я понимал 011011001001011001001011011101001… что-то в таком духе

  22. 85
    Виктор Григорьев ответил:

    проголосовал за "другой"
    начни с c#/python/ruby
    имхо полезнее, при необходимости подтянешь c/c++

  23. 84
    Евгений Ошуркевич ответил:

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

  24. 83
    Евгений Ошуркевич ответил:

    и если не трудно впишите полезные ссылки которые пригодятся мне

  25. 82
    Владимир Ильяшов ответил:

    Хм-м-м. Дабы не впадать в холивор:
    1. Оптимизировать приходилось неоднократно как самому, так и друзьям… на системах 8088 и 8086 с резидентами без оптимизации было просто нельзя.
    2. Рекомендую сначала немного подучиться… как минимум пройтись по поисковикам:
    //ru.wikipedia.org/wiki/%D0%90%D0%B1%D1%81%D1%8...
    //ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BC%D0%B...
    //ru.wikipedia.org/wiki/%D0%9E%D0%BF%D1%82%D0%B...
    //en.wikibooks.org/wiki/X86_Disassembly/Optimiz...
    //www.azillionmonkeys.com/qed/optimize.html

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

  26. 81
    Виктор Григорьев ответил:

    Владимир Ильяшов:
    1. Демогогия..
    Вам приходилось хоть раз оптимизировать машинный код? Хоть кому-нибудь из ваших знакомых? Примеры из книжек хотя бы приведите

    2. Об "абстрактных алгоритмах" я не говорил
    3. ещё раз демогогия

  27. 80
    Владимир Ильяшов ответил:

    #75
    1. Асм и машинный код – это близко, но не одно и то же.
    2. Абстрактные алгоритмы хороши в теории, но тут будет практическое применение, а у него свои законы и ньюансы.
    3. Для оптимизации по размеру программ на асме или в машинных кодах знание размера инструкций тоже не самое главное, оптимизация по памяти, в первую очередь, сводитсяк уменьшению размера кода программы за счет циклов, вызовов и прыжков, а во вторую – уменьшение обьема данных программы… как общего, так и используемого.

    #78
    Угу… Я так частенько говорю: "ИТ-шников не знающих английского не бывает!"
    А в идеале 4 некомпьютерных языка: английский, русский, немецкий и китайский.

    #79
    Тут уже неоднократно рекомендуется Си… Как раз самое время на него переходить с паскаля… потому как самое оптимальное после последнего, имхо, – либо Си, либо Дельфи.

  28. 79
    Артём Шалхаков ответил:

    2 Евгений Юрьевич
    почитай "Structure And Interpretation of Computer Programs", есть в сети (или на русском: "Структура и интерпретация компьютерных программ")

    а напариться с HTML'ом, C++, Delphi, PHP и др. всегда успеешь.

  29. 78
    Жека Лысый ответил:

    Сорри что втогаюсь, не хочу замусоривать группу лишними темами. Но мож подскажете? Я я учусь в коледже на програмиста, но как бы обучение по специальности пойдет с сентября. И я тут решил малёк сообразить самостоятельно, пока лето. Как думаете, это не повредит основноу обучению в коледже?

    ЗЫ: и банальный вопрос, подскажите к чему лучше присмотреться, если я уже соображаю в HTMLе и паскале? (и малёк в бэйсике)
    ЗЗЫ: английский знаю xD

    Заранее извиняюсь за возможно глупые вопросы, и благодарю за предполагаемые ответы.

  30. 77
    Юра Воронцов ответил:

    да, можно. Я почти все нашел, что мне надо было по яве и по БД. Но почти все на английском******

    Если ты не знаешь английского-ты не программер )))

    (1С-ники не в счет они точно не программеры)))))

  31. 76
    Юра Воронцов ответил:

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

    если тебе нравиццо копатьс9 в операц системе то советую начинать с СИ++ и WinAPi (для виндовз систем соответственно) если нравицоо разработка сайтов, вебсервисов, порталов и т.п. то советую СИ#

    среду разработки советую (если ты выбрал СИ) Microsoft Visual StudioВизуал мелкомягих любой версии ИМЕННО к ДАННОЙ !! среде разработки лутше брать книги то есть в приложении к книге должно указываццо именно эта версия компилятора и среды и интерфейса…(так проще работать и не заморачиваццо….

    Ну и Начинать изучение компа (для того чтобы понять систему программинга и потом обработки и компиляции отладки программ я считаю надо знать свой комп!) советую с коммандной строки (в строке "Выполнить"набрать cmd.exe… кстати не математику понять напр. асм поможет именно коммандная строка….ну и канеша книги к по коммандной строке лутше иметь….

    и не обольщайс9 0_ов лучшем случае ты станешь классным программером на одном конкретном языке и сделаешь серьезный проект,или семействе языков программинга в одной конкретной среде где то за год не ранее и то при ежедневных самостоятельных занятиях…мое такое мнение

  32. 75
    Юра Воронцов ответил:

    Большинством голосов тут пока рекомендуется для начинания Си, но, это сугубо личное имхо, программер, начавший с асма, может вырасти в крутого кодера, хотя асм и не упирает на ООП, но при написании сильных вещей, в особенности, где важны будут скорость и размер, это даст очень хорошую базу…*****

    вопрос том скока ему придеццо расти ))) ведь асмтяжел для начинающих и привязан к архитектуре компа..и математическим понятиям..и может напрочь убить желание программировать…СИ более абстрактен и потому "удобоварим"))

  33. 74
    Виктор Григорьев ответил:

    Владимир Ильяшов: для оптимизации по размеру достаточно знать сколько занимают байт инструкции (записанные на асме, или в машинном коде, разницы нет, только в удобочитаемости)

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

  34. 73
    Александр Джагриев ответил:

    да, можно. Я почти все нашел, что мне надо было по яве и по БД. Но почти все на английском

  35. 72
    Евгений Ошуркевич ответил:

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

  36. 71
    Владимир Ильяшов ответил:

    Дык, асм – отнюдь не самый простой язык… особенно для начинающих…
    Попробуй начать с Си.

  37. 70
    Евгений Ошуркевич ответил:

    был в книжном магазине,там наверно 500книг с разными языками,почти все полистал,меня чуть ли было не выгнали оттуда,в нете хоть чё нибудь можно найти?

  38. 69
    Владимир Ильяшов ответил:

    #68
    Компьютер не умеет по-умолчанию понимать текстовые команды, поэтому программы для него работают в машинных кодах, понятных процессору.
    А поскольку писать программы сразу в машинном коде достаточно ресурсоемко- существуют компиляторы и интерпретаторы.
    Компилятор – берет исходный текст программы и переводит его в машнинный код, распознаваемый компьютером. Т.е. из тектового файлика hello.asm делает исполняемый (бинарный) файл hello.exe (hello.com), который уже можно запускать на ПК.
    Интерпретатор исполняемых файлов не создает, а сразу преобразует исходники в машинный код в памяти ПК и выполняет его.
    Для сравнения по опубликованным выше исходникам:
    ASM – надо компилировать, получишь бинарник, который можно будет запускать. Т.е. приложение создается и потом работает самостоятельно.
    JS – сразу обрабатывается и запускается встроенным в Windows интерпретатором WSH (cscript или wscript). Т.е. без интерпретатора данный скрипт работать не будет.

    #69
    Знание машинного кода необходимо для оптимизации. Сейчас это, конечно, слабоактуально, поскольку подход большинства современных разработчиков: нехватает памяти – добавьте, не тянет процессор – проапгрейдите…
    В старые времена, когда сборники программ были на 5-дюймовых дискетах и памяти было всего 640кб, на доводку по оптимизации, особенно резидентных программ, тратились уйма времени и нервов.
    Сейчас – да, уже не так… больше тратится на скорость, но и тут знание машинных кодов помогает… Правда, в связи с ростом уровня процессоров,расширения количества инструкций и параметров, это действительно становится серьезной нагрузкой…

  39. 68
    Евгений Ошуркевич ответил:

    компилятор это вообще что?типа переводчика с одного я зыка на другой язык?

  40. 67
    Виктор Григорьев ответил:

    в машинном коде вообще нереально писать, запомнить всё опкоды крыша наверно поедет.
    как правило это сводится к написанию на асме и транслирование в ручную в машинный код, да и смысла в этом нет, асм даёт такие же возможности.

  41. 66
    Владимир Ильяшов ответил:

    2ГВ
    В машинном коде реально только небольшие узкоспециализированные задачи писать, т.е. даже простейшая работа с дисками, текстом и видео еще была реальна под досом (всего то пара прерываний и область видеопамяти), а под виндой – уже запаришься напрямую реализовывать… да и не даст она многие вкусности напрямую реализовывать.
    Большинством голосов тут пока рекомендуется для начинания Си, но, это сугубо личное имхо, программер, начавший с асма, может вырасти в крутого кодера, хотя асм и не упирает на ООП, но при написании сильных вещей, в особенности, где важны будут скорость и размер, это даст очень хорошую базу…
    …не говоря уж про отладку и внедрение кода в сторонние бинарники ;)

  42. 65
    Георгий Вощук ответил:

    Asm… :) ))
    Ещё бы машинный код посоветовали :)
    Имхо, нужно пойти в книжный магазин, полистать там небольшие книжки по VisualBasic Net, Delphi 7 и C#. Где код покажесься приятней, ту и брать. А затем прочитать выбранную книжку от корки до корки! А что не понятно – по второму кругу.
    Освоишь один язык – и с другими справишься.

  43. 64
    Леонид Максимов ответил:

    приведенный код именно для него и написан

  44. 63
    Евгений Ошуркевич ответил:

    народ!!!для компилирования masm32 подойдёт?

  45. 62
    Кирилл Быков ответил:

    :) Познавательно…

  46. 61
    Владимир Ильяшов ответил:

    2ИП: Хих. Это WSH, а не asm…
    Почти то же самое, что набрать в блокноте "Hello World!", сохранить и кликнуть по сохраненному файлу ;)

    2ЕО:
    Не совсем, это выполнился JavaSсript…
    А на асме для доса это будет что то вроде:
    ===hello.asm===
    assume cs:code,ds:data
    code segment
    org 100h
    hello:
    mov ax,data
    mov ds,ax
    lea dx,message
    mov ah,09h
    int 21h
    mov ax,4c00h
    int 21h
    code ends
    data segment
    message db"Hello, World!$"
    data ends
    end hello
    ======
    Что же касается asm-а для windows, то тут все проще реализовывать через windows api, что то вроде:
    ===hellowin.asm===
    .386
    .model flat, stdcall
    option casemap :none
    include \masm32\include\windows.inc
    include \masm32\include\kernel32.inc
    include \masm32\include\user32.inc
    includelib \masm32\lib\kernel32.lib
    includelib \masm32\lib\user32.lib
    .data
    HelloWorld db "Hello World!", 0
    .code
    start:
    invoke MessageBox, NULL, addr HelloWorld, addr HelloWorld, MB_OK
    invoke ExitProcess, 0
    end start
    ======
    а для консоли windows:
    ===hellocons.asm===
    .386
    .model flat, stdcall
    option casemap :none
    include \masm32\include\windows.inc
    include \masm32\include\kernel32.inc
    include \masm32\include\masm32.inc
    includelib \masm32\lib\kernel32.lib
    includelib \masm32\lib\masm32.lib
    .data
    HelloWorld db "Hello World!", 0
    .code
    start:
    invoke StdOut, addr HelloWorld
    invoke ExitProcess, 0
    end start
    ======

  47. 60
    Евгений Ошуркевич ответил:

    у меня появляется совсем маленькое окошко и в этой окошке написано Hello Word это и есть программа?

  48. 59
    Леонид Максимов ответил:

    потребуется:
    1. редактор текста, 1 шт.
    2. компилятор (можно интерпретатор), 1 шт.

    предполагаемые действия:
    1. набрать код в редакторе,
    2. сохранить код в файл,
    3. скормить файл компилятору (интерпретатору).

    на здоровье.

  49. 58
    Игорь Полищук ответил:

    Запиши в стандартном "Блокноте" текст' WScript.echo("Hello World!"); ' без одинарных кавычек, и сохрани документ в формате .js
    Проще некуда…

  50. 57
    Евгений Ошуркевич ответил:

    народ!опишите пожалуйста подробно как сделать первую программу Hello World.в книге только пример,а подробностей как именно это сделать нет.

  51. 56
    Евгений Ошуркевич ответил:

    ок начну!

  52. 55
    Леонид Максимов ответил:

    жжоте, товарищи :)

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

  53. 54
    Игорь Полищук ответил:

    Хех… Еще недельку, и можно будет заработать на макулатуре. =)

    P.S. А чтож вы так с дельфями? Они по ходу залетели на полку? :)

  54. 53
    Евгений Ошуркевич ответил:

    народ!ме знакомый принес книгу ассемблер,Зубков С.В.1999г.подойдет для начинания?

  55. 52
    Андрей Хлебников ответил:

    ZX Spectrum + GW BASIC

  56. 51
    Евгений Ошуркевич ответил:

    сегодня мне знакомый принесет книжку delphi посмотрим что будет,может чё то я пойму

  57. 50
    Владимир Павленко ответил:

    я начал с бейсика с первым спектрумом потом после появления первого 486-го забыл про все и на протяжении 12 лет только играл и изучал сначала дос потом винду потом линукс потом стал учителем информатики из занялся программированием точнее наоборот сначла занялся программированием потом стал учителем… я начинал после длительного перерыва схтмл далее взялся за джаву потом аякс потом пхп потом перл и сейчас работаю над питоном си++ и си шарп проходил мимо честно прочитал одну книгу про них прочитал и забыл =) асемблер купил книгу прочитал 10 страниц и положил на дальнюю полку =) так что мой совет если ты хочешь делать программы изучай с++ или си шарп если хочешь делать веб ресурсы то пхп или опять же си шарп технологию asp.net

  58. 49
    Виктор Коновалов ответил:

    writeln('Hello, World!');

  59. 48
    Дамир Зайнуллин ответил:

    математический аппарат – это типа пониманме твоим мозгом различных задач, представление задач в виде математических моделей.
    я так его понимаю

  60. 47
    Дамир Зайнуллин ответил:

    я ходил на курсы, начтнал с Packalя, основ алгоритмизации. потом перешел на Delphi

  61. 46
    Игорь Полищук ответил:

    Евгений Ошуркевич, не только бесплатно, но если будешь учиться и качественно применять полученные знания, сможешь и зарабатывать на этом… Особенно на мобильных сайтах. Но это не в тему, на данном этапе ведь главное получить знания и опыт? :)
    И перейти к ООП чтобы делать свои, как ты говорил? Игры и проигрыватели? :) Это будет очень не скоро…………………
    Хотя если так уш задуматься на ActionScript ты сможешь делать игры через месяц после начала изучения… Это с применением Flash – проигрывателя, слышал о таком? Сайтам это, к стати, тоже пригодиться, явный пример – ВКонтакт…

  62. 45
    Рустем Закиев ответил:

    По си могу посоветовать хорошую книгу Шилдт Герберта "С++ для начинающих" Вижу ты совсем совсем новичок-гугл тебе в помощь=) Если какие-то термины не понятны ищи.А учебник ну просто супер для новичков. Все доступно и понятно и с примерами.

  63. 44
    Рустем Закиев ответил:

    Кстати еще советую линукс поставить.Полюбому дело дойтет до того что сам будешь собирать вручную проги =) Для начала советую Ubuntu desktop edition 8.04.Устанавливается легко и проблем с установкой ПО и драйверов нет-все автоматически практически!

  64. 43
    Артём Шалхаков ответил:

    про математический аппарат: нет, это не калькулятор — это гораздо сложнее ;)

    >в нете можно создавать свои сайты что ли(ну в смысле бесплатно)?
    да, можно (не за деньги, но за размещаемую рекламу)

    а почему об SICP и прочих хороших книжках еще не было сказано? O_O

  65. 42
    Евгений Ошуркевич ответил:

    в нете можно создавать свои сайты что ли(ну в смысле бесплатно)?

  66. 41
    Дмитрий Матвеев ответил:

    Я начал (8-9 лет назад) с кубасика. Спустя год ознакомился с VB.
    С 2003г и по сей день – C/C++. Также сейчас изучаю Python, потом в планах Smalltalk

    Мой взгляд на этот вопрос такой:
    Сначала надо усвоить базовые алгоритмы на каком-нибудь простом языке, потом "спуститься" до низкоуровневых языков – рассмотреть работу с памятью и т.п.,
    дальше – осилить объектно-ориентированное программирование, ну а ещё дальше – будь что будет)))

  67. 40
    Игорь Полищук ответил:

    В общем дело к ночи, едь на любой книжный рынок, покупай себе

    "HTML и XHTML. Подробное руководство" Муссиано и Кеннеди, Издательство – O'REILLY, 6-е издание.
    "CSS. Каскадные таблици стилей. Подробное руководство" То-же издательство, 3-е издание.
    и
    "JavaSсript. подробное руководство" То-же издательство, 5-е издание.

    И будет все в шоколаде. будешь начинать с азов веб программирования и идти к ООП. =) Или можешь и дальше выбирать с чего начать, если сайты – не твое…

  68. 39
    Евгений Ошуркевич ответил:

    я там ничего не нашел,а поступать никуда нехочу:)благодарю

  69. 38
    Виктор Григорьев ответил:

    Что такое " в текстовом режиме эмулятор светофора." ?
    В нетестовом режиме он уже будет реальными светофорами управлять? :)

  70. 37
    Владимир Яковлев ответил:

    Если ты из Питера посмотри //amse.ru/ и //logic.pdmi.ras.ru/~infclub/

  71. 36
    Алексей Перепечко ответил:

    ставь себе ms visual c++ 6, отрой какие нибудь задачки уровня 1 курса института экономики, начни их набирать (гугл в помощь). набрал – посмотрел, работает. меняешь циферку или буковку в коде, смотришь. Работает? Что изменилось?
    Не работает? Что пишет?
    И так, пока все не напишешь. Потом уже можешь и на что-то свое замахнутся. Напиши например, в текстовом режиме эмулятор светофора.

  72. 35
    Виктор Григорьев ответил:

    выбор трушных хардкорных кодеров – ассемблер \m/
    и главное – никогда не читать мануалов и как можно больше другим е*ать мозг

  73. 34
    Владимир Ильяшов ответил:

    #28
    1. Гифы обычно не редактируются напрямую.
    2. //www.google.ru/search?hl=en&q=gif+editor

    #32
    Обычно все начинается либо с чтения чужого кода, либо с чтения учебника/документации.

    PS: Интересно, а как много программеров жалеют, что начали с васика? ;)

    PPS: Если б сейчас было начало 90-х, я бы рекомендовал начать с ЯПРа Logo, один из лучших языков для начинающих и детей того времени, имхо. А сейчас уже можно начинать с Дельфей… В базовом варианте (без написания своего кода, простое разбрасывание объектов по форме) тоже очень легко осваивается даже детьми.
    Но если начинать подходить к кодингу серьезно, начинать лучше с Си, как одного из наиболее тренирующих качественное написание программ среди массовых ЯПРов.

  74. 33
    Alexander Filippov ответил:

    я в 2001 году ходил на курсы бэйсика :) Потом сам изучил PHP :)

  75. 32
    Борис Глебов ответил:

    Да какая разница то с чего… Главное начни, а там если поймешь , что программирование это твое,то уже походу дела разбирешься в дальнейших направлениях.

  76. 31
    Valentin Pimenov ответил:

    ИП, под статью подводишь?

  77. 30
    Евгений Ошуркевич ответил:

    знаю что надо чего то с малого начинать,незнаю только с чего

  78. 29
    Антон Пасечник ответил:

    начал с бейсика =))

  79. 28
    Игорь Полищук ответил:

    <NoTopic>
    Люди, может кто-то увлекается GIF89a – форматом? :) Случайно нет у вас проги для редактирования таких изображений + кряк + русификатор? =)
    </NoTopic>

  80. 27
    Игорь Полищук ответил:

    Евгений Ошуркевич, я думаю стоило бы начать с малого и идти к великому. Начни с сайтов – HTML(XHTML), CSS, JavaSсript, в процессе понадобится PHP, SQL с ActionScript, а там уже недалеко и С++ упадет… Паскаль, я так думаю, хотябы бызу тебе в школе дали…

    P.S. Это мой выбор – веб программирование. Ну а там как карта ляжет. =)

  81. 26
    Владимир Ильяшов ответил:

    Хм-м-м… Что бы переделать современную игру на несколько Гб размером, простого программерства мало… Медиаплеер делать тоже смысла особого нет… разве что под какую редкую платформу, а для темы вообще программирование не нужно, если только не писать свой shell.

    Т.о. тебе под эти задачи потребуется:
    Медиа-плеер – проще всего взять open-source-решение, посмотреть, как реализовано, попробовать переделать под себя – соответственно ЯПР будет зависеть от исходников. Плюс, если издеваться над встроенными, то тут пойдут Visual Studio и API для Windows и MediaPlayer.

    Переделка игр – тут скорей всего хватит редактора ресурсов и редактора памяти, если я правильно понял цели. Потому как нормальную игру даже с исходниками на руках можно править долго… А для изменения простейших параметров, часто достаточно вышеперечисленного или же API к игре.

    Темы – тут вообще программирование не понадобится… разве что vbscript, html и т.п.

  82. 25
    Евгений Ошуркевич ответил:

    свои темы хочу сделать в винде

  83. 24
    Роман Воробец ответил:

    2Евгений Ошуркевич: ну, например, теория графов, теория множеств… Продолжать?
    Всё зависит от того, какие именно программы "для своих удобств" ты собрался писать.

  84. 23
    Евгений Ошуркевич ответил:

    хочу свои медиа плееры делать,игры переделывать

  85. 22
    Роман Воробец ответил:

    2Александр Джагриев: ИМХО, проектирование отношений в РБД к программированию относится постольку-поскольку…
    2Владимир Ильяшов & Кирилл AlwaysWatching<⊙> Быков: Коллеги :) ZX – Basic, немного asm, в школе довелось попрограммить на КуМир :-!, потом x86 Assembler, Pascal, Object Pascal, C, C++, JavaSсript, Java, PHP. В принципе, всё равно, на чём программить – было бы знание синтаксиса и знакомство с философией языка, а уж умение использовать библиотеки, предоставляемые языком, приходит с опытом.
    ИМХО, лучше начинать не с C++, а с C. Заморочек всё же поменьше будет.

    p.s.: Помнится, в школе на первых уроках информатики задали нарисовать схему произвольного алгоритма (из жизни). Как вы думаете, кто один из всего класса смог правильно выполнить задание? ;) "Алгоритм перехода улицы по пешеходному переходу в стране с правосторонним движением", как сейчас помню)))

  86. 21
    Евгений Ошуркевич ответил:

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

  87. 20
    Евгений Ошуркевич ответил:

    народ!!!!!я вас прекрасно понимаю что вы на своем языке тут общаетесь,ну я некоторых слов вообще непонимаю,как нибудь по-русски объясните мне .я так понял книжку купить надо,а ещё тут пишут про какой то аппарат матем.-что это?

  88. 19
    Кирилл Быков ответил:

    Точно так же начинал, как Владимир Ильяшов, вплоть до C++. Кроме forth.

  89. 18
    Александр Джагриев ответил:

    Самый яркий пример, это проектирвоние отношений в РБД. Нормальные формы основаны на теории множеств и тоже свои теоремы есть

  90. 17
    Владимир Ильяшов ответил:

    Начинал, к сожалению, с basic-а на z80, потом машинный код под него же и только после этого уже смог добраться до asm x86, forth, pascal, c, c++ …

    В настоящее время, имхо, лучше всего начинать с c++, потом уже переходить на asm, delphi, java… ну и комплекс от ms visual studio, в зависимости от планов и предпочтений.

  91. 16
    Игорь Полищук ответил:

    Хо-хо… программеры веселятся…
    Евгений Ошуркевич, в какой области планируешь программировать?

    P.S. ИМХО углубленное знание математических наук не особо важно в начале… Без этого никак только на олимпиадах по программированию, ну и еще в нескольких одиночных случаях…

  92. 15
    Роман Воробец ответил:

    2Димас -Любит_ВАС- Рубекин: Какое интересное разграничение)
    Математика нужна будет тогда, когда будет фундамент, а именно – умение алгоритмизировать. Без хорошего фундамента хороший дом не построишь;)

  93. 14
    Евгений Ошуркевич ответил:

    Артём Шалхаков :калькулятор что ли?

  94. 13
    Артём Шалхаков ответил:

    серенький, квадратненький такой, с окошками-бойницами ^_^

  95. 12
    Евгений Ошуркевич ответил:

    так чё за математический аппарат?он хоть как выглядит?

  96. 11
    Дима Рубекин ответил:

    Ну смотря что писать, если просто сайты то математика не особа важна,а если САПР или 3Д то без нее не как

  97. 10
    Роман Воробец ответил:

    бех мат.аппарата – можно.
    я начал программировать, когда ещё в школу не пошёл)))

  98. 9
    Евгений Ошуркевич ответил:

    а че за математический аппарат?

  99. 8
    Александр Джагриев ответил:

    Без математического аппарата, мне кажется, врятли станешь талантливым программистом. Ну это чисто мое мнение. А начинать проще всего с Delphi, наверно)

  100. 7
    Евгений Ошуркевич ответил:

    ну какой то вариант есть?

  101. 6
    Дима Рубекин ответил:

    книжку по с# купи и вперед)))
    Я начинал с VB.net, а потом на c# перешел

  102. 5
    Valentin Pimenov ответил:

    Школа, УПК, блок-схемы алгоритмов на бумажке + GW-BASIC…

  103. 4
    Евгений Ошуркевич ответил:

    так и называется с# ?

  104. 3
    Дима Рубекин ответил:

    произносится как СИ ШАРП

  105. 2
    Евгений Ошуркевич ответил:

    мне знакомыетоже советовали всякие книги,по моему ассамблер и делфи

  106. 1
    Александр Чигринец ответил:

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

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