А как создают программы?

Spider666
4/16/2006, 1:31:11 AM
Прежде всего нужно желания написать прогу, потом определиться на каком языке писать, мне нравиться делфи похож на паскаль.
RoyalFlesh
4/16/2006, 4:17:25 AM
(AngeLR @ 12.04.2006 - время: 10:10) я тоже с "детства" начал smile.gif тоже где-то с 7-8 класса
только мои первые языки были: BASIC для ZX-Spectrum 48 и Ассемблер для Z80. На PC - Aссемблер (тока если меня не подводит память для 88 и 86 он идентичен, разница во внешней шине процессора, что ни как не влияет на систему команд), от Паскаля меня "бог уберёг" devil_2.gif и тока (в отличие от тебя) ушел я "в степь" разработок связанных в основном с БД (ERP и т.п. системы)... основные инструменты VB6 (в принципе уже в прошлом), VB.NET, PROGRESS 4GL (недавно название поменяли, ни как не запомню - для меня он P4GL) ну и SQL (если его причислять к языкам, я его воспринимаю как "примочку")... и щас жалею только о том, что нету столько времени, как раньше, на чистое программирование.

(GregZ)Увлекался программированием и компьютерами с 7 класса. В те времена в моей школе информатику преподавали только старшим классам. Поэтому ходил к ним на занятия. Изучали Basic. Это был мой первый язык программирования.

Как на духу завидую белой завистью...
Нас в школе только Бэйстку и учили, и то давали готовый код прорисовки типа КООР_Х1_У1 ТО КООР_Х2_У2...
И мы потОм с диким восторгом наблюдали рисунки машины или надписи типа "Школа" на мониторах...

В десятом - одиннатцатом тихо-тхо обучали азам работы с Виноус (сечас вообще не понимаю, как этому можно "Учить" - просто садись и работай)...
ShadowS
4/19/2006, 4:51:25 AM
Кареглазая а ты где учишься(училась)??
tetro
4/24/2006, 4:15:33 PM
В целом GregZ дело говорит. Но если серьезнее то все зависит сколько тебе лет, сколько у тебя есть времени играться и какова цель?

Если тебя тянет к игрушкам с кнопками и лет тебе - школа, и к системному мышлению и около математике мало склонен - то начни с Басика и простейших апликаций.

Если цели серьезнее а времени на игрушки нет (или уже наигрался). То займись образованием: Bruce Eckel: Thinking in Java, Thinking in C++ и пр. Главное мыслить правильно - в естественных понятиях - тогда остальное значительно легче и быстрее приложится само сабой.

DELETED
4/25/2006, 12:14:44 AM
(tetro @ 24.04.2006 - время: 12:15)Если тебя тянет к игрушкам с кнопками и лет тебе - школа, и к системному мышлению и около математике мало склонен - то начни с Басика и простейших апликаций.

Если цели серьезнее а времени на игрушки нет (или уже наигрался). То займись образованием: Bruce Eckel: Thinking in Java, Thinking in C++ и пр.  Главное мыслить правильно - в естественных понятиях - тогда остальное значительно легче и быстрее приложится само сабой.
Страсть как к игрушкам тянет, аж жуть! Так бы и пописал чего для серьезного пректа! devil_2.gif
А хобби у меня - визуальные компоненты (люблю WTL, понимаешь, за свободу мысли и краткость слога) и метапрограммирование. Гремучая смесь :). Но не страшнее чем бейсик со вставками ассемблера в былые времена :).

На работе же: интерфейсы, обобщенное программирование, многопоточность с синхронизацией и учет проделаной работы... черт бы побрал эти daily report'ы.

Так о чем это я? а.... Некто Александр Степанов (создатель STL) на конференции "Software DevelopmentWest" сказал следующее:
“If you really want to do something in programming and can afford it, go back to school. It’s obvious. I mean, if you wanted to play piano, would you have to ask if you need to buy a keyboard?”
Там же он привел две книги, обязательные, по его мнению, к прочтению каждому программисту. Это George Chrystal’s Algebra и Euclid’s Elements . Во так вот.
А вы говорите математика...

ЗЫ.
George Chrystal. Algebra. 7th edition. Chelsea Pub Co, 1980.
Euclid, Dana Densmore, and T.L. Heath (Translator). Elements. Green Lion Press, 2002.
tetro
4/25/2006, 11:17:57 PM
GregZ, можно мне как старшему (по возрасту) первому начать на ты (привычка :) ).

Моя реплика была не к тебе а к автору темы. То что ты вполне созревающий (дым еще идет :) ) программер с претензиями я заметил по твоей реплике по СТЛ :)

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

А математика - это всегда хорошо. Это я тебе ... говорю как краевед wink.gif
DELETED
4/26/2006, 12:22:42 AM
(tetro @ 25.04.2006 - время: 19:17)Моя реплика была не к тебе а к автору темы. То что ты вполне созревающий (дым еще идет :) ) программер с претензиями я заметил по твоей реплике по СТЛ  :)
poster_offtopic.gif
Под конец рабочего дня не пойму: это похвала, или меня как-то изощренно обозвали? :) drinks_cheers.gif
tetro
4/26/2006, 2:15:09 AM
poster_offtopic.gif lol.gif В общем и то и другое wink.gif
DELETED
5/13/2006, 11:07:30 AM
(Mr.Dee @ 03.04.2006 - время: 14:08) А как создают программы?
С чего начинают? какие знания нужны?
Начни с обычных блок - схем(составление алгоритмов).
Chara
5/19/2006, 3:43:11 AM
(GregZ @ 08.04.2006 - время: 19:42) (Кареглазая @ 08.04.2006 - время: 19:00) У меня всё начиналось с QBasic, на первом курсе был TurboPascal, на втором Си, сейчас все уже свободно пишем на С++.
Девушка программист?
(Чувствуя себя Станиславским) НЕ ВЕРЮ!
Почувствуй себя Станиславским еще раз.
Девушка - программист на Ассемблере сигнальных процессоров с оптимизацией по времени выполнения angel_hypocrite.gif
Общий стаж программирования (не только на асме) 15 лет.
DELETED
5/20/2006, 12:20:20 AM
(Chara @ 18.05.2006 - время: 23:43) (GregZ @ 08.04.2006 - время: 19:42) (Кареглазая @ 08.04.2006 - время: 19:00) У меня всё начиналось с QBasic, на первом курсе был TurboPascal, на втором Си, сейчас все уже свободно пишем на С++.
Девушка программист?
(Чувствуя себя Станиславским) НЕ ВЕРЮ!
Почувствуй себя Станиславским еще раз.
Девушка - программист на Ассемблере сигнальных процессоров с оптимизацией по времени выполнения angel_hypocrite.gif
Общий стаж программирования (не только на асме) 15 лет.
Как же, как же. Помню. Проходили DSP типа TMS. Быстрое преобразование Фурье, свертка... В общем жуть. Алгоритм - код. Здесь верю.

Хочу сказать, что девушек "высокоуровневых" программистов встречал мало. И дело здесь в физиологии. Женский мозг менее склонен к манипуляции абстракциями. Это не значит, будто мужской мозг лучше. Просто он другой.
tetro
5/20/2006, 2:30:05 AM
Хамите "парниша". У меня в окрестности как минимум две вполне такие: моя мама и жена. Т.е. в общем не программеры (одна инженер электронщик, другая математик), но если бы они пошли туда - это бы им не мешало.
DELETED
5/20/2006, 3:15:22 AM
(tetro @ 19.05.2006 - время: 22:30) Хамите "парниша". У меня в окрестности как минимум две вполне такие: моя мама и жена. Т.е. в общем не программеры (одна инженер электронщик, другая математик), но если бы они пошли туда - это бы им не мешало.
Мои слова - экстракт эмпирических наблюдений. У нас в компании 150 девелоперов. Среди них - ни одной женщины. На предыдущем месте работы - такая же ситуация.
DELETED
5/20/2006, 4:27:55 PM
(GregZ @ 19.05.2006 - время: 23:15) Мои слова - экстракт эмпирических наблюдений. У нас в компании 150 девелоперов. Среди них - ни одной женщины. На предыдущем месте работы - такая же ситуация.
Тьфу, слово-то какое подобрали... Девелоперы... И что, прямо так все и откровенные девелоперы? А как же презумция невиновности, права человека?

А вообще вы живете в другом мире или ваш начальник женоненавистник? :) Только на нашей кафедре было с десяток девушек программистов, а сколько после 99-го там еще понавыпускалось? А ВМиК МГУ это вам не шишка с маслом, туда и оттуда всяких не берут. Жена у меня системный программист, с того же факультета... Не знаю, отношение к женщинам, как к "никаким" программистам скорей всего свойственно именно "никаким" программистам.
DELETED
5/20/2006, 5:14:55 PM
Я ТАКИХ унивеситетов не кончал, но и благовейного трепета не испытываю. Знаю только умных и глупых людей везде хватает. Независимо от университета и, тем паче, пола.
Как только встречу достойную девушку программиста _с_удовольствием_ заберу свои слова назад.

PS. Подначивать меня не стоит, и Вы и я знаем себе цену.
DELETED
5/20/2006, 6:48:02 PM
(GregZ @ 20.05.2006 - время: 13:14)Я ТАКИХ унивеситетов не кончал, но и благовейного трепета не испытываю. Знаю только умных и глупых людей везде хватает. Независимо от университета и, тем паче, пола.
Да ладно, при чем тут ТАКИЕ или НЕ ТАКИЕ альма-матеры. У меня лучший программист вообще без образования. И диплом в айти конторах ни один вменяемый кадровик требовать не будет.

(GregZ @ 20.05.2006 - время: 13:14)Как только встречу достойную девушку программиста _с_удовольствием_ заберу свои слова назад.
А как вы собираетесь определять достойность? Вопросами про "template argument deduction"? Разбуди меня или жену ночью, спроси, что это такое, то можем и в глаз спросонья за оскорбление засветить. Жена до сих пор точки с запятыми забывает ставить, однако алгоритмы у нее - пальчики оближешь. Программист - это не знание языка С++ или C# (а это тоже язык? :) ), это в первую очередь алгоритмы. Можно и перфокартами баловаться.

(GregZ @ 20.05.2006 - время: 13:14)PS. Подначивать меня не стоит, и Вы и я знаем себе цену.
Упаси меня Тьюринг от подначивания. :) Ваши же слова (или Станиславского?) :) про "не верю!". В моей жизни встречались такие девушки программисты, что я, весь из себя обвешанный регалиями, по сравнению с ними закончил дошкольные курсы кройки и шитья, на которых нам издалека показывали ЭВМ. Утрированно, конечно, но суть передает точно.


Оффтопик:
Знаете как моя жена определяет, что муж надрался? Когда отрывается от своего долбанного компьютера и видит в титьку пьяного мужа, валяющегося на полу с ноутбуком (за настольным сидеть уже не могу) и извращенными методами реализующего какую-нибудь бессмысленную фигню. Это при жене, а без жены я нормальный, меня на баб тянет. А вот мою жену пьяной лучше не видеть. Во-первых она начинает на бумажке рисовать символы, которые я уже благополучно и к собственному счастью забыл, а во-вторых еще и разговаривает на пиндосском языке. Вот вчера мне, представьте, пытались что-то обьяснить про цепочки Маркова. Представили? А понять в пьяном виде? Я вот не понял, за что и спал в обнимку с собакой. Да, таки присутствует что-то лесбийско-императивное в программистах женского полу.

upd: от жены вам персональный привет. 6)
Chara
5/20/2006, 7:19:26 PM
Достойных женщин-программистов действительно мало.
Сколько работаю (15 лет) в основном я была одна среди мужчин. Ну вот в одной еще компании была девушка. Но так... скорее кодер, чем программер.
На данный момент начинаю постепенно уходить от именно программирования в сферу проектирования и системного анализа (UP и т.п.). Пока в нашей фирме никто с этой задачей кроме меня не справляется. Правда наверное придется идти куда-нибудь на курсы... Потому что реально не хватает опытного человека, который мог бы тыкать носом и говорить "вот тут у тебя лажа полная, а вот тут ты права, но описывается это обычно другим способом".


А по теме... С чего начать... Видимо начать стоит с понимания есть ли у тебя аналитические способности и абстрактное мышление.
tetro
5/22/2006, 9:09:22 PM
Скажу так, за 5-6 лет которые я плотно в период доктората ошивался в родной компьютерной алма-матер (а она из общепризнанных мировых лидеров). Процент девушек на достойном уровне скажем < 5%. Т.е. это с одной стороны есть, с другой стороны мало.
Unknown_Identifier
6/28/2006, 5:25:27 AM
(GregZ @ 07.04.2006 - время: 20:24) Для меня программист, который не может объяснить как работает его творение - шаман. И работать с такими людьми в команде эквивалентно самоубийству.
Ну это как сказать, ведь есть разные методики программирования :)
Что смертельно для XP, совсем не смертельно в общем случае.
Лично я, конечно, обычно могу объяснить свой код, если сам помню как он работает. А если не помню - то могу быстро разобраться/вспомнить. А вот другие разобраться обычно не могут. В коде комментариев почти нет, зато детально описаны интерфейсы. Т.е. код - это личное, даже в командной работе. Хотя раньше работал по другим правилам и нужно было строго соблюдать правила кодирования (и делать понятный всем код).

Хочу ответить на первоначальный вопрос: "Как создают программы". Создают по-разному, поэтому привожу одну из схем:
1 этап - анализ и проектирование.
Цель этапа - провести необходимые исследования и сформулировать КАКУЮ программу будем делать. Т.е. определиться с тем, какие у нее будут функции, какой интерфейс, зачем вообще ее делать. Если программа создается на заказ, то обычно этот этап выполняет заказчик (частично или совместно с разработчиком).
2 этап - проектирование архитектуры.
Цель этого этапа - определиться с тем, КАК будет работать программа и КАК она будет устроена.
3 этап - кодирование.
Цель этапа - наполнить архитектурный скелет реализацией всех запланированных фич.
4 этап - тестирование и исправление багов
Ну тут все понятно :) Тестирование, кстати, может быть многоуровневым: от тестирования разработчиком, до финального QA (Quality Assurance).
На этом продукт вроде как готов, но вполне может оказаться, что работа не закончена :) Начинается работа над новой версией, которая может включать как добавление мелких фич, так и радикальные изменения в архитектуре. Т.е. возвращаемся к 2 или 3 этапу и идем дальше по циклу - пока будут деньги :)
Любитель-испытатель
7/25/2006, 11:23:14 AM
(GregZ @ 06.04.2006 - время: 23:17) Для начала я бы посоветовал побаловаться языками вроде Basic. Если больше интересует программирование для web - то разобраться с html и скриптовыми языками. Начать конечно с HelloWorld :)

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

Паскаль лучше не трогай, плохому научишься - функциональному программированию и статической типизации. А это самые серьезные враги ООП.

Следующий шаг .NET платформа. VB и С#. Братья близнецы. Боюсь сросшиеся.

Наконец, набравшить опыта, берись за C++. Но не сразу. Без знания паттернов проектирования, общих принципов ООП (Барбара Лисков и GoF must have), лучше даже не начинать. Далее читать Страуструпа, Саттера, Мейерса, Александреску. Стандарт - от корки до корки. Пока не сможешь, разбуженный посреди ночи, объяснить что такое integral promotion и template argument deduction.

Зазубрив все это написать все тот же HelloWorld и использованием Boost.Spirit (не спрашивайте меня как), понять что Print("Hello World") на Basic делал тоже самое, отчаиться и забросить программирование.

Короче, оно тебе надо? Есть хорошая идея? Попроси знакомых програмеров оформить, займись шароварением с командой програмеров в качестве генератора идей. Удачи!
Ну я бы VB и C# братьями-близнецами не назвал, xотя оба являются чадами Microsoft. Если уж и сравнивать, то C# очень поxож на Java, вот иx братьями-близнецами можно назвать, xотя Java постарше будет.

Программирование на Java не так уж и плоxо. Главное на какой платформе: J2SE или J2EE. Если просто на J2SE, то не всё так запущено и замудрено.

Если учиться, то я как раз таки начинал бы с C++. Потом перейти на .NET (только не VB, а C#). А после можно и с Java-ой поиграть.