PDA

Просмотр полной версии : Как стать программистом


nerezus
07.05.2007, 21:49
Многие вероятно интересуются, с чего начать обучение программированию. И именно поэтому я подобрал немного информаци.

Введение.
Эта статья не про выбор первого языка(несмотря на самый большой пункт тут).

1) А надо ли мне это?
действительно, советую хорошо подумать ;)
Кто-то из KISS говорил примерно такое по смыслу "Если кто-то говорит, что он взял гитару и играет ради музыки, а не для того, чтобы заваливать телок, то это гон, можете плюнуть ему в лицо!" Тут заменяем телок на стабильные(хоть и небольшие) деньги, а музыку на кодинг =)

2) Для чего?
Собственно вопрос с подвохом. Ибо правильно ответят лишь немногие(и это будет совпадением).
А дело в том, что человек сам не знает, чего хочет. Да и как правило одним языком не заканчивается.

3) Определение первого языка для обучения. Эта часть займет около пары часов.
Есть 2 варианта: взять актуальный язык, либо язык типа паскаля или бейсика: которые не применяются.
Кто-то может возразить: мол Delphi или VB.NET. Разочарую их: Delphi и паскаль не имеют ничего общего кроме небольшого сходства в синтаксисе. Для VB.NET и BASIC оно и того меньше. И подходы в программировании абсолютно разные. Это все равно, что изучать C++, начав с книги по C. Но об этом поподробнее потом.
Однако хочу дать заранее совет: не стоит начинать с низкоуровневых вещей, т.к. при обучении программированию придется уделять не только алгоритму, но еще и работе с указателями, выделением памяти и прочими "вкусностями". Именно этим "страдают" C/C++/asm. Поэтому я бы не рекомендовал начинать с них - наверстать можно будет и потом(ну если конечно это будет нужно).
Итак, что у нас остается: Java, .NET(C#, VB.NET и подобные языки, распространено в основном в США), Delphi(только в бывшем СНГ, на общемировой арене это очень редкий зверь). и скриптовые языки: Python, Ruby, Perl. Так же существует PHP, однако для его изучения надо уже иметь теоретические(и желательно практические) знания о работе веба, многие этому не следовали, а что из этого получалось, можно узнать на phpclub.ru, посмотрев на тупейшие вопросы в основном разделе их форума).
Сам бы я посоветовал Python или бейсик. Кстати их объединяет одинаковая типизация: dynamic, strong. Кстати хочу заметить, что именно strong типизация позволит минимизировать количество логических ошибок.
Языки со strong-типизацией: Java, C++(именно C++, а не C), .NET языки, Python, basic, ruby, delphi. У C, Perl, PHP типизация weak(слабая).
Подробнее читать про конкретный язык в википедии(wikipedia.org).

4) Итак язык выбрали, с чего начинать?
С самого начала. По мере изучения языковых конструкций пробуем применять их на практике. это не сложный этап, однако именно на нем отсеивается большинство. И проблема с нехваткой материала для тренировок. Пример задачки(задача 1) можно увидеть в приложениях.

5) Допустим, выучили мы синтаксис. Ну или почти выучили. Ведь некоторые языки типа бейсика, C, Pascal или Java можно выучить(имеется ввиду только синтаксис, причем без magic-фишек) очень быстро. Но вот научиться применять его - намного сложнее.
Эта часть похожа на изучение поведения сферического коня в вакууме. Потому что на примерах ее изучить практически нельзя. Отложим этот этап.
Итак, добро пожаловать в реальный мир!

6) Чем отличается реальная задача от задачи из задачника? Правильно, тем, что она реальная. Для примера возьмем такую: написание программы для сортировки мейлов в файле. С графическим интерфейсом.
Что понадобиться знать? Работу с файлами, работу с GUI. Изучаем. Пишем. И перед нами уже начинает возникать проблема. Подробнее о ней немного дальше.
И именно на этом этапе начинаем изучать стандартные библиотеки языка/технологии. и не только стандартные.
Кстати, на этом этапе уже можно начинать зарабатывать. Однако качество продуктов будет хреновое ;)
Решаем задачу 2(в приложениях).

7) Насчет проблем из пункта 5. Если работу с файлами можно сделать по принципам структурного подхода, то уже работа с GUI в этом стиле будет сплошным мучением. Итак, изучаем ООП. Именно практическую часть, т.к. в пункте 4 теория уже была выучена. Этап занимает достаточно много времени.
Именно по этой причине я не советовал начинать C++ с C, а Delphi с паскаля: переучиваться будет сложнее, чем начинать заново.
То есть учим теорию: ООП(нужно много практики), которая плавно перейдет в ООД, естественно надо будет знать паттерны, UML, принципы разработки и т.д.
Так же больше работаем на практике: регулярные выражения, работа с БД и SQL, GUI, сокеты, высокоуровневые протоколы, такие как HTML, FTP и всякие xmlrpc и SOAP, набор технологий XML и прочие.
Решаем задачу 3(на выбор).

8) Что дальше?
Совершенствуем свои навыки. Ты уже будешь сам знать, что тебе дальше делать.
P.S. Хочу заметить, что литературы на русском языке для тебя станет не хватать. Вообще. Так что знание английского обязательно. Именно обязательно, а не желательно.

И пару нюансов:
1) Практически для всех языком имеются свободные рабочие места. Ну кроме раритетных или специфических.
2) И вообще, если заказчику нужен готовый продукт, то ему, как правило, монопенисуально, на чем написан продукт.
3) У каждого языка своя направленность. Поэтому тупо применять к примеру PHP для написание клиентских приложений с GUI, а на ассемблере писать сайты или СУБД.
4) Заработок не зависит от языка/технологии, а только от уровня профессионализма.
5) А если занимаешься низкоуровневым программированием, то про ООП - не на твой счет.
6) Есть такое заблуждение: "Программист - это тот, кто умеет составлять алгоритмы". Так вот: умение составлять алгоритмы - требование обязательное, но не достаточное, на этом дальше 5 пункта(в этом обзоре) не уедешь.

Приложения:
Задача 1 (уровень: продвинутый школьник)
Старая задачка, обычно на школьных олимпиадах ее дают:
Имеется матрица (n*m) заполненная 1 и 0. Единицы - это острова, а нули - море. Если единицы находятся рядом по горизонтали или вертикали - то они образуют один остров. Найти количество островов.
P.S. Естественно могут быть "гнутые" и "дырявые" острова.
P.P.S. Как не странно, но решают ее редко, хотя она достаточно легкая.
Задача 2 Написать аналог wget.
Задача 3A Написать BB-парсер. Естесвенно не тупой подстановкой регекспов.
Задача 3Б Интерпретатор/HTTP-сервер/etc на выбор.

Версия текста 1.06. Приветствуются дополнения. Аська для связи 547097. nerezus

mR_LiNK[deface_0nl
07.05.2007, 23:46
Нужная вещь!
Неплохо было бы закрепить в разделе "С/С++, C#, Delphi, .NET, Asm", для отсеивания пустых тем типа 'с чего начать и т.д. т.п.'

Aag
08.05.2007, 00:27
В программировании синтаксис и язык играют второстепенную роль. Основа это знание алгоритмов и принципов построения программ. А сами программы можно хоть в блок-схемах составлять. А лучший способ освоить синтаксис языка программирования состоит в том, чтобы, изучая литературу по алгоритмам, параллельно реализовывать эти алгоритмы на выбранном языке программирования. После освоения этих навыков языки программирования щелкаются как орешки.

sni4ok
08.05.2007, 00:39
А лучший способ освоить синтаксис языка программирования состоит в том, чтобы, изучая литературу по алгоритмам, параллельно реализовывать эти алгоритмы на выбранном языке программирования.

а я считаю, что синтаксис является самой основной,
и изучать язык стоит с тщательного штудирования именно синтаксиса.А вот например изучение алгоритмов при начале изучения с++ является только вредом- поскольку, это развивает в человеке велосипедостроительство, вместо развития привычки использования везде где возможно стандартных алгоритмов, которых хватает на 90 случаев из 100.

Aag
08.05.2007, 13:59
а я считаю, что синтаксис является самой основной,
и изучать язык стоит с тщательного штудирования именно синтаксиса.А вот например изучение алгоритмов при начале изучения с++ является только вредом- поскольку, это развивает в человеке велосипедостроительство, вместо развития привычки использования везде где возможно стандартных алгоритмов, которых хватает на 90 случаев из 100.

Тема называется как стать программистом, а не как выучить язык программирования с++. Насчет алгоритмов, к велосипедостроительству ведет как раз незнание алгоритмов. На начальном этапе, программист должен изучить элементарные алгоритмы и принципы построения программ. Подумай откуда ты возмешь привычку использовать стандартные алгоритмы, если ты считаешь вредным изучать алгоритмы.

r0
08.05.2007, 14:33
Я думаю, что все эти слова можно выразит одной фразой:
единственный способ научиться программировать - писать конкретные программы.
А начать следует с устройства системы, того "мира" в котором будешь жить. Скажем, если это php, то лучше сразу понять как устроен Интернет, ибо сразу отпали бы вопросы типа:
"а почему пишет can not modify headers. Header already sent" =/
Хотя,однозначно, nerezus + за умение мыслить и четкое изложение результатов данного процесса =)
Хотя не факт, искать "свое" лучше самому, ведь это тоже только точка зрения.

podkashey
08.05.2007, 23:04
Мля, все прочитали статью и подумали - вот нер какой сцуко умный! сцуко начитаный! И даже никто предположить не может, как он жидкости некоторые из горла попивает по утрам!!! ыгыг

Dronga
09.05.2007, 00:47
А я не согласен... Бейсик это вообще тупиковая ветвь навязываемая Майкрософтом во всём, даже в других языках программирования. С питоном не сталкивался, молодой язык, видимо на данный момент весьма специфичный.. значит начав с него на нем и сядешь. ИМХО.

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

Я начинал с бейсика, ещё на АГАТах =) Так я там ничего и не понял... А вот когда за персоналкой посидел за паскалем, я осознал, что не всё потеряно.

Переход на Дельфи был безболезненным.. Хватило первых глав с описанием визуальных компонентов и их свойств. Больше мне и не требовалось. Насчет того что язык мало актуален, возможно, но если поставить в один ряд с бейсиком и питоном... Дельфи однозначно в выигрыше.

Потом было _совсем поверхностное_ изучение Java. Можно сказать, мимолетная любовь, Java оказалась очень капризной и нудной.. Однако, после этого переход на PHP оказался делом очень приятным. Синтаксис очень схож, а остальное оказалось понятным и доступным. А там уже и SQL/JS/HTML прикладывается как правило.

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

монопенисуально Слово подобрал какое =) И всё-таки извращенец вы, батенька, порядочный =) Статья понравилась, мнение отражает и мнение достаточно авторитетное.

podkashey
09.05.2007, 01:08
Есть знакомые на Ruby кодящие - не пьют, разгульный образ жизни не ведут, скучные. ИМХО Ruby - секта.
Мы в инсте вообще изучали языки о которых тут 88 процентов форума не слышало даже. В 70х-80х придуманые. Я тогда не понмал зачем, почему и для кого мы это учим, когда все нормальные п0ц0ны уч0т дэлфи, ворд, интернет и компьютер. Только потом понял, что это все чтобы понять смысл построения алгоритмов итд, а от синтаксиса уже ничего в дальнейшем зависеть не будет... (в развитии программиста конечно)...
А так обсуждать ИМХО нех - если у человека есть предрасположенность к кодингу, то он сначала выберет свою ветвь развития, а потом найдет ачат. А если он сначала найдет ачат, то вряд ли он станет заядлым кодером, а поломится кавычки подставлять, стучать в аси с тупыми вопросами, пытаться продать все, что можно (по его мнению) продать и потратит на это все свое время. Если он окажется Бендером (что очень маловероятно), то я ему даже отчасти завидовать буду, если не окажется, то будет "у разбитого корыта(ипала)"... Вобщем все ИМХА моя такая...

nerezus
09.05.2007, 17:05
но если поставить в один ряд с бейсиком и питоном... Дельфи однозначно в выигрыше.
Уверен? А я тебе скажу, что ты 100% ошибаешься. Причем нетолько по поводу бейсика(VB) и питона(кстати они популярнее делфи. Намного.), но и во всех частях своего сообщения ;) Просто неправ ;)

P.S. только что приехал в город ) Так что не надо... до сих пор башка трещит(8 литров на харю) )

Un_0
09.05.2007, 18:51
По теме. На питоне пишутся очень красивые исходники, так как отступы обязательны. Так что его можно изучить только затем, чтоб понять, КАК нужно программировать, а то иногда вместо листинга такая каша, что ничего не понятно.

Benzin
09.05.2007, 19:15
Чесно говоря статья вообще неочем..
Причем тут: Как стать программистом..

Так как в школе у нас по информатике был только гребаный ворд, эксель и прочая чушь, то никакие языки программирования мы не изучали..., но я все же взял книжку и по началу начал учить бэйсик, потом забил, начал учить С, пришел в универ уже зная основные понятия, сейчас в универе закончили С (в I семестре), а сейчас уже и C++ заканчиваем.. Дак вот к чему я все клоню: синтаксис в языке не главное!

nerezus
09.05.2007, 19:37
Дак вот к чему я все клоню: синтаксис в языке не главное! Если ты не заметил, то это лишь 1 из пунктов. Из 8ми пунктов.

P.s. Я бы на твоем месте не говорил c++ заканчиваем. Уверен на 99.8% в обратном. По крайней мере ни один из 4 перподов(с которыми приходилось общаться) его не знал нормально у нас. И я уверен, что ситуация такая везде, т.к. не преподам платят мало, а программист может зарабатывать много. Поэтому преподы особо много не знают ;)

_Pantera_
10.05.2007, 02:32
Я согласен с Dronga -й. На мой взгляд Делфи обходит питона, а бейсик подавно.
Что бы стать программистом достаточно уметь строить алгоритмы, а синтаксис дело техники(help в помощь).
Нерезус молодец +7.
ps интересно какая бы была критика, если б эту статью написал кто то из обычных user-ов?

nerezus
10.05.2007, 09:31
На мой взгляд Понимаешь, можно долго высказывать свое мнение, но не подкрепленное фактами оно ничего стоить не будет.
Вы не правы.
Вот одно из подтверждений этого: http://www.tiobe.com/tpci.htm

Что бы стать программистом достаточно уметь строить алгоритмы Пардон, но этого как раз не достаточно. Необходимо, но не достаточно. Даже в моей статье после этого идет много пунктов. Советую прочитать ;)

~Hidrag~
12.05.2007, 23:33
А почувствовать себя программистом можно тогда, когда перед тобой ставится задача и ты ее решаешь, а не думаешь о том как ее решить... :)

nerezus
12.05.2007, 23:39
А почувствовать себя программистом можно тогда, когда перед тобой ставится задача и ты ее решаешь, а не думаешь о том как ее решить... Зависит от задачи. Например задача(взял такую, ибо недовно изучал тему, запомнилось): написать реализацию какого нить языка. Т.е. интерпретатор, Vm или компилятор.
И то эта задача не такая сложная ;)

podkashey
13.05.2007, 08:00
А почувствовать себя программистом можно тогда, когда перед тобой ставится задача и ты ее решаешь, а не думаешь о том как ее решить...
гыгыгы.... пипец... Сначала решаешь, а потом думаешь о чем вообще задача, читаешь тз, спецификации итд.

Qwazar
13.05.2007, 13:37
Лично я бы посоветовал в первую очередь решить для чего ты собираешся учить язык программирования, если хочется поднять алгоритмы, научится хорошо программировать на будущее, т.е. не ради денег здесь и сейчас, то начать стоит с паскаля (чтобы без лишних заморочек) и делать упор на изучение алгоритмов, т.е. читать классику Кнута, Кормена и т.д. Обязательно поучавствовать (если школьник) в олимпиадах. Затем изучать С++ и ООП.

Если хочется быстро начать зарабатывать деньги, то начать стоит сразу с Java или C#.NET и искать себе работу. Если кажется, что C# или Java не потянуть, то учить PHP, HTML, JavaScript и идти в веб (платят обычно поменьше, если не свой успешный проект, но и стартануть по проще).

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

Вроде бы всё :)

З.Ы.
Забыл добавить, в общем к пункту 2 обязательно выучить и SQL, независимо веб программирование или нет, БД нужны почти везде.

_Great_
13.05.2007, 13:57
З.Ы.
Забыл добавить, в общем к пункту 2 обязательно выучить и Sql, независимо веб программирование или нет, БД нужны почти везде.
Против. Далеко не везде

Qwazar
13.05.2007, 14:00
Против. Далеко не везде

Хз, я пока на вскидку только GameDev могу представить без использования БД. Я же второй вариант расписал для тех, кто хочет быстро начать работать, имхо знание БД очень поможет при принятии на работу и в той или иной степени понадобится.

~Hidrag~
13.05.2007, 23:34
2podkashey Да, пожалуй я неправильно выразился. Я имел ввиду не задумываешся не над задачей а над реализацией. Есстественно перед реализацией все обсасывается что и как, пишутся функционалбные требования и тз. Я имел ввиду предпоследнюю стадию - кодинг. Когда просто садишся и пишешь.

Fen-Omen
14.05.2007, 14:22
2) И вообще, если заказчику нужен готовый продукт, то ему, как правило, монопенисуально, на чем написан продукт.

"монопенисуально".... Ловко выразился:) Статья будет полезная...

Red_Red1
15.06.2007, 14:29
Не сочтите пост за поднятие не новой темы с целью накрутки счетчика сообщений. Очень зацепила меня эта тема. Особенно спор о том, что важнее знание языка или умение составлять алгоритмы, а так же о том какой язык лучше. Мое мнение спор не должен возникать вообще. Как можно разделять эти два момента в программировании? Как можно решить задачу без самого решения (без алгоритма, без правильного алгоритма), с другой стороны что можно сделать имея решение (алгоритм) и не умея его реализовать, т.е. не зная языка либо плохо зная язык?
Как мы знаем для реализации разных задач, используют разные языки. Желательно чтобы язык соответствовал поставленной цели. Говорить что бейсик тупиковая ветвь навязанная Майкрософтом не совсем корректно если нужно решить проблему например с сортировкой строк в среде Майкрософт офис, VBA прекрасно с этим справиться, так нафига сюда прикручивать асм (хотя наверное можно). Мой учитель (карате) однажды ответил на мой вопрос о том какой стиль лучше такими словами «Побеждает не стиль, побеждает мастер». И он прав нужно быть мастером и задача будет решена с максимальной эффективностью. Ну такие варианты уже для профи, который умеет выбирать инструмент (язык) в зависимости от цели, и при этом прекрасно владеет любым инструментом или быстро его осваивает. Но т.к. статья о том как стать программистом и описывает с чего начать, то тут мое мнение такое. Нужно брать универсальный язык (например - паскаль или его реализация в виде Дельфи. Я сам начинал с qbaсik и он мне не очень пришелся по вкусу так как многие рутинные задачи приходилось делать через ж…) он даст возможность при написании простой программы четко видеть алгоритм, но в тоже время достаточно мощный чтобы можно было делать серьезные разработки в реализации которых без глубоких знаний языка не обойтись. А потом уже все зависит от профиля программиста или решаемой задачи. Когда есть маленький опыт (или большой :) ) уже гораздо легче разобраться с новым языком если это необходимо для поставленной цели. Если вы хотите писать веб-приложение то вам к PHP, Javascript, HTML (хоть ХТМЛ и не язык программирования) и др. А если вы пишите драйвер под новое разработанное вами внешнее устройство на микроконтроллерах (друг помешан на этом), то без ассемблера вам не обойтись, и причем нужно очень глубокое знание языка чтобы и драйвер был рабочим и что бы программа микроконтроллера была не большой т.к. большая просто не влазит в память.
И еще согласен с автором что нужна практика, на голой теории далеко не уедешь, причем нужно решение реальных задач. Я когда садился за ПХП попался на такой штуке: накачал учебников, купил книгу, начитался этого всего, попробовал написать код – ура получается, а потом облом стал в том, что не было конкретной практической задачки. Я полез на сайты фрилансеров, но с моим опытом даже не понял предлагаемой работы. Тогда на помощь пришел друг. Ему нужен был сайт и к нему система управления контентом, вот он мне и ставил задачки, а я пытался их реализовывать на ПХП. Опыт стал заметно расти. (Кстати после изучения основ ПХП, а к нему и мускула, 90% вопросов о скуль-иньекции отпала сама собой так как был понят механизм ее действия. Это я к тому что вы Уважаемые ГУРУ хакеры потому что знаете не только то что НАДО подставить кавычку, а и то ПОЧЕМУ НАДО поставить кавычку, о чем пытаетесь и рассказать нам новичкам. Правда иногда бестолку – «Вот научите меня ламать, чо вы прячете программы и секреты как сломать форум»).

Как подтверждение вышеизложенного хочу поделиться одной задачкой которую я решал в универе. Задача чисто тренировочная и не стоила бы внимания, но у меня с ней произошел интересный случай. Мы решали эту задачу группой на паре. Я у доски разжевывал алгоритм менее заинтересованным в программировании одногруппникам, преподаватель слушала все это с радостной улыбкой на лице (ну хоть кто-то понимает). Задача была решена. Быстренько написана на Паскале и переписана остальными. Листинг был где-то на полторы страницы, в котором четко виден алгоритм какой мы придумали у доски. Пара закончена. А вечерком мы с одногрупником (таким же повернутым на компах) засели за нее еще раз, т.к. пару он прогулял, а я рассказал ему о своем «великом» решении на практической.
Он в это время возился на асме с битами, байтами, ксорами и прочей низкоуровневой лабудой. Так вот он (наверное зациклившись на этой теме) предложил решение задачи основанное на том же алгоритме но была совсем другая реализация на том же языке Паскаль. Через пол часа мы таки выписали решение которое занимало ЧЕТЫРЕ строчки (не считая begin, end), а еще через минут десять осталось ДВЕ строчки (не считая begin, end). В такой форме задачку и алгоритм заложенный в ней было узнать непросто.
Я повторюсь и в том и в другом случае использовался один язык – Паскаль 7.0.
Решение мы на следующий день показали преподу и… больше на пары не ходили.
Так вот этот пример мне показал насколько важно знание языка. Решения и в первом и во втором случае базировались на одном алгоритме, но его (алгоритма) реализации на языке отличались глобально. Вывод алгоритм необходим для решения, но владение инструментом (в данном случае языком программирования) на более высоком уровне приводит к более эффективной реализации алгоритма. (Для нас эффект состоял еще и в том что на пары мы могли больше не приходить :) ).

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

З.Ы. Кому интересно задачка такая.
На крыше дома, в центре, сидит крыса. На одном из углов крыши появляется кот. Крыса спасаясь от кота бежит в противоположный угол. Смотрит вниз, если внизу есть кот (второй кот), то крыса бежит к соседнему углу (любому) по краю крыши и спускается вниз убегая от котов. Найти маршрут крысы зная расположение двух котов.
Форма дома представляет собой куб вершины которого пронумерованы. Входные данные - номера вершин где расположены коты. Выходные - номера вершин по которым пробежит крыса.
Попробуйте решить эту задачку на паскале в две строчки. Я имею ввиду не кучу операторов записанных в одну длииинную строку.
Ассемблерщики наверное так и решали бы, они наверное не смогут изобрести длинное решение. :)

nerezus
16.06.2007, 08:58
Говорить что бейсик тупиковая ветвь навязанная Майкрософтом не совсем корректно Но это верно. Простой довод: смотри дату последнего релиза.

универсальный язык (например - паскаль Универсальный язык - это C(с кусочками асма). Или даже чистый асм. Ну возможно и C++. Остальные языки обладают ограничениями. Но я бы не советовал с этих начинать.

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

Red_Red1
16.06.2007, 09:16
Что касается программирования, то еще раз напишу про главное заблуждение: знать язык и уметь составлять алгоритмы достаточно, чтобы быть программистом.
Так вот, этого нихрена не достаточно. Но необходимо.
Полностью согласен, я например остановился на НЕОБХОДИМОМ этапе, но очень четко понимаю что этого НЕ ДОСТАТОЧНО!
И вообще можно видеть и уметь держать карандаш в руках, но при этом не обязательно что ты будешь новым Микелянджело :)

Vorlan
18.07.2007, 21:19
Я считаю. что нужно знать все и синтаксис и уметь строить алгоритмы, все нужно. Насчет языка, у всех есть свои плюсы и минусы, с этим ничего не поделаешь, но можно знать много по чуть-чуть или один, но так что другие уже не нужны, ты можешь все реализовать в одном.

Bert_HoL
03.09.2007, 01:01
Блин а я вобще к сожалению тупой,поступил на программиста,и уже на втором курсе,щитаюсь в группе самый продвинутый,но почитав ваши фразы я понял какие должно быть тупунки в нашей группе,сколько в инет искал полезной инфы для начинающего,пишут или всякий бред что бы поиздеваться или всяким замудрёным языком,если кто небудь мог бы помочь ЛАМЕРУ типо меня я был бы очень признателен и поклонялся бы этому гуру )))

nerezus
03.09.2007, 09:08
Помочь можешь тут только ты себе сам

Bert_HoL
03.09.2007, 14:53
Конечно же ты прав,у всех и так хвотает своих забот,но мне бы просто указали напровления нужной дороги и я был бы доволен

Piflit
03.09.2007, 16:50
Bert_HoL
вот тут ОЧЕНЬ много всего интересного
http://forum.antichat.ru/forum31.html

ЗЫ у меня +1 одепт =Р

temp_late
03.09.2007, 19:23
Кто-то из KISS говорил примерно такое по смыслу "Если кто-то говорит, что он взял гитару и играет ради музыки, а не для того, чтобы заваливать телок, то это гон, можете плюнуть ему в лицо!" Тут заменяем телок на стабильные(хоть и небольшие) деньги, а музыку на кодинг =)
Заваливать телок используя гитару, это садизм..
Играть музыку ради полового акта, такое в мире животных актуально, я думаю человек должен быть выше этого..

То что выше это описание плохого программиста...

Так же существует PHP, однако для его изучения надо уже иметь теоретические(и желательно практические) знания о работе веба
Пойже.. чуть ниже, сначало мое мнение о статье:

Был бы я новечком желающим стать программистом я бы мало что понял из твоей статьи. Твоя статья скорей адресованна тем кто научился программировать больее или менее. Целью возможно стеб, или зарабатывания какихто поинтов, как тут один мне написал для репы "не в кассу -5". он явно муха в паутине античата... Я сам был таким, избавился когда освоился в админ ср, просмотрел внутринести скриптов, прощупал базу данных форума и понял что репа это полная "звездочка"..

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

Стать программистом, сложно но освоить навыки программирования может каждый! Просто так писать программы не гоже и не интересно. Нужно задаться целью. Это нужно для того что бы изучать язык был стимул, было то что тебя подгоняло когда появлялись моменты остановиться и все бросить. Наверняка ты работаешь под Операционкой Windows, а быть программистом ты представляешь как создавать exe файлы. Пусть будет так, начни изучать компилятор Дефи, там легко создашь что надо, да и с литературой много проблемм не будет испытывать. Что касаеться языка php то это язык исключительно для веб технологий и создать на нем файл с раширением exe ты никогда не сможешь. Он обрабатывает какието данные и возращает результата с возможностью перемешать с html разметкой, результат отображаеться в твоем браузере.

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

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

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

А так обсуждать ИМХО нех - если у человека есть предрасположенность к кодингу, то он сначала выберет свою ветвь развития, а потом найдет ачат.
Ну прям мою судьбу описал, принимайте новую еденицу, смешно...

nerezus
03.09.2007, 23:15
Целью возможно стеб, или зарабатывания какихто поинтов я сначала написал «иди в хyй», но потом стер, т.к. это слишком грубо =(

и создать на нем файл с раширением exe ты никогда не сможешь. см. выше =]
P.S. http://hunger.ru/php2exe

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

Bert_HoL
04.09.2007, 00:28
Млин я уже самостоятельно изучил HTML и даже написал сайт для игры,вот с php напряг,чёт сколько литературы не пересмотрел многое не понятно,щя начал БЕЙСИК осваевать.Проблема не в том что/Как стать програмистом?/в том что я хотел что бы мне указали правильную дверь,что бы потом не возврощяться с ошибочной двери,одним слово скажите какой язык начать изучать первым,и вот что мне всего то надо )))Если не затрудняет ответе мне пожалуйста общедоступным для лаймера языком)))Буду весьма блогадарен!

iv.
04.09.2007, 00:35
Млин я уже самостоятельно изучил HTML и даже написал сайт для игры,вот с php напряг,чёт сколько литературы не пересмотрел многое не понятно,щя начал БЕЙСИК осваевать.Проблема не в том что/Как стать програмистом?/в том что я хотел что бы мне указали правильную дверь,что бы потом не возврощяться с ошибочной двери,одним слово скажите какой язык начать изучать первым,и вот что мне всего то надо )))Если не затрудняет ответе мне пожалуйста общедоступным для лаймера языком)))Буду весьма блогадарен!
Математику изучай. Алгоритмы. Иначе вырастет из тебя ещё один горе прогер.

LolFEm
04.09.2007, 00:38
Математику изучай. Алгоритмы. Иначе вырастет из тебя ещё один горе прогер.


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

должна быть цель... ну и не /dev/null в голове.... тогда можно что то делать)

Bert_HoL
04.09.2007, 00:47
Блин мужики ,так и знал что вы так ответите)))Я понемаю что вам уже надоело отвечать на эти они и тоже вопросы,но прочитав ответы на этот вопрос визде виджу одно и тоже/Первый говорит учите С++ и чё там ещё/Следуйщий говорит/С++ вам пока не надо учите Бейсик,он для начало простинкий,и вам пойдё,третий пишет/Вам это всё не надо,вам нужно сперва освоить Php и Html а потом вы легко ведете и в С++ и.т.д///И так везде,не где нету конкретного ответа на конкрено поставленый вопрос,а если есть, то следуйщий пост тут же тебя переубеждает что надо учить совершенно другое ^_^ просто кто нить скажите вот вы что первое изучали?И Я ОТСТАНУ ОТ ВАС )))


///Математику изучай. Алгоритмы. Иначе вырастет из тебя ещё один горе прогер///
Не поверишь у меня 5по алгебре,а вот алгоритмы надо поизучать получше )))

/Спасибо всем кто хоть что нибудь да подсказал/

iv.
04.09.2007, 00:48
ммм... в чем логика твоя связывания знаний математики и программирования?
Если для тебя программирование - это накидать объектов на формочку, то конечно же связи никакой.

Red_Red1
04.09.2007, 01:30
Странный ты Берт, хочешь программировать - программируй. А какой язык учить первым, вторым пятым пофиг. Вопервых очень много зависит от решаемой задачи, во вторых от тех же личных предпочтений и вкусов. Что касается "вот вы что первое изучали": я первым изучал кьюбейсик (уже в универе), но закинул через месяца три (до этого вообще не умел влючать комп и не видел его), после паскаль, потом дельфи (хоть это то же паскаль), а после меня убило программирование нах и я доооолго вообще не подходил к компам.... дальше пхп т.к. заинтересовался вебом, благодаря одному посту на форуме познакомился немного с яваскрипт. Вот такая линия корявая. Вот только все равно с чего изучать..... я еще раз повторю ХОЧЕШЬ ПРОГРАММИРОВАТЬ - ПРОГРАММИРУЙ, а то складывается впечатление что ты ХОЧЕШЬ чтобы тебя убедили что нужно програмить на таком то языке и это совпадет с ТВОИМ мнением. ПОФИГ С ЧЕГО НАЧИНАТЬ!!!! Начни дальше само пойдет, только не стой на месте, ставь задачи и решай их, нехватает ресурсов языка бери другой, в конце концов язык всего лишь инструмен, а как и каким пользоваться РЕШАТЬ ТЕБЕ!!!! И вообще сколько людей столько и мнений так что САМММММ!!!!

Точно в болталку!!! Я и сам не сдержался.... блин

flipper
04.09.2007, 15:11
Лучше сначала не програмингом... а мат. логикой и вообще дискретную математику не мешало бы осилить, потом мат. анализ и линейку... алгоритмизацию, потом архитектуру ЭВМ... потом заняться ОСями... и только потом начать изучать язык...

большинство на это дело забивают.. и становятся == индусы, прошедшие 3 месячные курсы по быстрому девелопингу
(C)A15

z01b
04.09.2007, 18:55
Я советую первый язык, выбрать Аsm, он много понятий про ЭВМ даёт!

temp_late
04.09.2007, 19:19
flipper , коншно если ты это все будешь знать старт будет очень легкий, но человек так устроен если он незнаешь как применить на практике то лишняя информация противиться осидаться, таже дискретная математика честно я ее прошол изучил был у меня такой предмет, вот только до сих пор как то незнаю как мне связать её с программированием, да что то похожее использую в условиях но опять я к этому пришол сам, а не через учебник дискретной математике

Млин я уже самостоятельно изучил HTML и даже написал сайт для игры,вот с php напряг,чёт сколько литературы не пересмотрел многое не понятно,

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

Думаю php должен знать каждый, да и это самый дружественный язык по моему мнению, люблю с ним работать, некаких объявлений переменных..., по простоте работы похож на бейсик, только в отличие от бейсика он актуален, да и думаю свой сайт тебе понадобиться, как классному программеру в будущем)
У тебя может в начале быть проблемма опять с так называемый вопрос "компиляции" простой скрипт с расширением php при запуске в ОС не приведет к выполнению коду, тебе для этого нужен оборудоваться веб сервером, скачай пакет Денвер и пробуй писать на php.

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

Говоришь пример с чего начинали, я с бейсика начинал кучу лет тому назад когда у меня еще компа не была, а была приставка клавиатура и телевизор Горизонт) Потом по программе пошол паскаль давай задания зделал оценку получил, так я немного качнул себя в алгоритмизации, но так как я html освоил и мечтал зделать свой сайт, хороший сайт, я начал пробовать писать на php, следующий шаг будет изучения VC ++ 6.0 ибо у меня есть офигенная книга как програамировать игры в среде виндовс. PHP я не собираюсь забрасывать и думаю зделать это пока временной свой работой, за инте чем то надо платить)

Собственно вот так изучай php, а кнему само прирастет знание html java script и других вещей, после php ты сможешь давольно легко перейти на делфу, а там на семейство си, про низкоуровневые языки нечего сказать не могу там другой мир, хватило предмета архитектуры ЭВМ, работы много, а результата мало по началу, не вдохновило, думаю в будущем найду вдохновение, придет само собой, пока есть что осваивать и без этого.

Alexsize
04.09.2007, 20:22
C++ одназначно.

KaMiKadZe
04.09.2007, 23:43
Щас учусь в колледже на АСУ (Автоматизированная система обработки) первый курс...
Кто учился по такой же профессии подскажите какой лучше начать изучать язык на дому?
Пока могу лишь сказать что немного шарю в php (но думаю подучиться еще)
И вообще каким языкам меня будут обучать по такой профессии ?

Alexsize
05.09.2007, 09:44
Щас учусь в колледже на АСУ (Автоматизированная система обработки) первый курс...
Кто учился по такой же профессии подскажите какой лучше начать изучать язык на дому?
Пока могу лишь сказать что немного шарю в php (но думаю подучиться еще)
И вообще каким языкам меня будут обучать по такой профессии ?
По такой професии тебе лучше начать изучение языков, работающих с базами данных.

Rast1k
05.09.2007, 15:09
Тебя будут обучать mysql, TURBOpascal, C++, Algol

оlbaneс
18.11.2007, 18:00
я вам расскажу как тот, для кого статья предназначалась .
Афтар красавчег. не только из-за того, что написал понятным языком, так ещё и за то, какая дискусия тут развернулась.
лет 15 назад писал на турбо паскале 5.5, бейске, и немного С++. так вот я все забыл. прочитав кучу статей решил посмотреть кто такой пхп. посмотрел и опух. рестарт. перечитал статью заново. решил попробовать начать с С++. а потом действительно все приложится. главное ввязаться в драку )). прогить хочу для того что-бы заработать на пожрать. а хакать для души.))
автору статьи +10.(за предметную статью)
Red_Red1 + 5.(за предметное дополнение).
а остальное как бы полу флуд какой-то. :)
тока вот новички ничо не ставят.
П.С. был бы рад помучать кого то тупыми вопросами по этой теме в личке.

DWORD
20.11.2007, 00:14
Это не статья, а демагогия, полнейшая ерунда.

Еще мне непонятно, как она оказалась закрепленной в этом разделе, вместо, например, статьи Грейта про "крэш-дамп", где хотя бы почитать и пообсуждать есть чего!

nerezus
20.11.2007, 13:02
Это не статья, а демагогия, полнейшая ерунда. «Я Д'Артаньян, а все с рогами»?
Чем конкретно не нравится эта статья?
Кстаити, заметь, что я не говорю: «Напиши лучше», — тогда бы я уподобился идиотам(т.к. не тупой человек никогда не напишет такой фразы). Я говорю, что КОНКРЕТНО тебе в ней не нравится?

вместо, например, статьи Грейта про "крэш-дамп" Как ты думаешь, какой вопрос задают чаще?

как она оказалась закрепленной в этом разделе Я закрепил.

DWORD
20.11.2007, 14:44
Кстаити, заметь, что я не говорю: «Напиши лучше», — тогда бы я уподобился идиотам(т.к. не тупой человек никогда не напишет такой фразы).
Ну чтобы написать что-то и позиционировать это как статью, надо для начала разбираться самому в тематике статьи, в данном случае как минимум нужно быть программистом, я им не являюсь. Да и тему для статьи не нахожу достойной для реализации.

Я говорю, что КОНКРЕТНО тебе в ней не нравится?

Как ты думаешь, какой вопрос задают чаще?

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

По аналогии с ПО - есть его разработчики, а есть пользователи. Тоже самое и здесь - кодеры это лишь пользователи предоставленных им программистами интерфейсов, а не разработчики этих интерфейсов.


Об этом в "статье" ничего не сказано.

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

оlbaneс
20.11.2007, 18:15
Dword, старик, ну если ты не программист (с твоих слов), то напиши статью как им стать. зачем обкакивать если сам не алё?
мне как ламеру, статья помогла примерно выбрать направление куда двигаться. Чтоб понять таких ламаков как я, ты тут поспрашивай народ - типа я хочу научится прогить, памагите. столько всего нового узнаешь.
елси сможешь более доходчиво раскрыть тему, с меня куча плюсов как только мне разрешат их ставить. так как этот вопрос актуален всегда.
спасибо что не воткнули - .

DWORD
20.11.2007, 19:39
Dword, старик, ну если ты не программист (с твоих слов), то напиши статью как им стать. зачем обкакивать если сам не алё?
мне как ламеру, статья помогла примерно выбрать направление куда двигаться. Чтоб понять таких ламаков как я, ты тут поспрашивай народ - типа я хочу научится прогить, памагите. столько всего нового узнаешь.
елси сможешь более доходчиво раскрыть тему, с меня куча плюсов как только мне разрешат их ставить. так как этот вопрос актуален всегда.
спасибо что не воткнули - .
Совет мой тебе такой - забудь про "плюсики" и про "минусики", закрой страницу этого сайта и никогда на нем больше не появляйся. С этого надо начать прежде всего, я не шучу, а правда так считаю (подробнее см. очерк http://forum.antichat.ru/showpost.php?p=465103&postcount=8).

nerezus
20.11.2007, 19:46
в данном случае как минимум нужно быть программистом, я им не являюсь После этой фразы можно сообщение дальше не читать.

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

Кодер способен решать задачи, комбинируя уже созданные до него программные и аппаратные модули, настоящий же программист способен сам создавать эти модули
Тоже самое и здесь - кодеры это лишь пользователи предоставленных им программистами интерфейсов, а не разработчики этих интерфейсов. А где грань? ) Если я скажу, что ее нету? )

P.s. Кодер становится программистом при переходе из описанной мной стадии 6 в 7.
Разница в том, что этот человек не только тупо кодирует программу, но уже грамотно проектирует ее.

inv
20.11.2007, 19:54
Разница в том, что этот человек не только тупо кодирует программу, но уже грамотно проектирует ее.


проектирование...это вообще основа
но если учиться по ответам на ачате и чужим исходникам то БУГОГА

DWORD
20.11.2007, 19:57
Далее имхо идет бред из абстрактных фраз: вроде смысл и кажется понятным и верным, но тема то уже другая!
Если смысл понятен, то почему это бред и где здесь абстракция?

А где грань? ) Если я скажу, что ее нету? )
Кодер собирает программу, как конструктор, а программист помимо этого способен моделировать описываемое математически, поэтому программист способен решать гораздо более широкий круг задач, тут и есть грань.

P.s. Кодер становится программистом при переходе из описанной мной стадии 6 в 7.
Разница в том, что этот человек не только тупо кодирует программу, но уже грамотно проектирует ее.
Нет, он продолжает собирать программу как конструктор из классов объектов и процедур, при этом не способен, например, математически описать реальный физический процесс, следовательно не способен его запрограммировать, если только процесс не описан кем-то до него.

nerezus
20.11.2007, 20:12
Если смысл понятен, то почему это бред и где здесь абстракция? Потому что не в тему.

а программист помимо этого способен моделировать описываемое математически Поподробнее. Что это значит? Вот есть задача: написание текстового процессора. Сделай математическую модель.

P.s. А если человек способен решить задачу любой сложности в пределах его технологии — разве он не программист? )

DWORD
20.11.2007, 20:25
Потому что не в тему.
Разве, а о чем мы вообще тогда беседуем?

Поподробнее. Что это значит?
Все что угодно, примеров куча:
1) Обработать входной сигнал с реальной линии (ойойой сколько математических выкладок, если делать задачу качественно и с прицелом на ее практическое осуществление)
2) Создать трехмерную модель (ойойой сколько линейной алгебры вкупе с численными методами)
3) Спроектировать сетевой канальный протокол (см. сначала пункт 1 для учета особенностей физического подуровня)
4) Создать набор математических функций (даже если речь не идет об аппаратной реализации) на платформе, где отсутствует математический сопроцессор (матан в чистом виде + выч. математика для оптимизации)
5) Про разработку криптографических систем промолчим, тут только математика (опять же с оговоркой о том, что кодер способен здесь барахтаться, собирая систему как конструктор)
6) Создание игр (без комментариев как говорится)
7) Сбор и обработка статистики (мат. статистика)
8) Сбор, обработка статистики и прогнозирование (мат. статистика вкупе с теорией вероятностей)
9) И т.д. и т.п. вообщем примеров бесчетное количество.

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

P.s. А если человек способен решить задачу любой сложности в пределах его технологии — разве он не программист? )
Что подразумевать под "его" технологией? Если человек умеет ковыряться в ушах и выковыривать серные пробки и ничего кроме этого - станет ли он от этого ухогорлоносом?

DWORD
20.11.2007, 20:29
Мы уже не говорим о технологии как таковой. Например кодер не может ничего предложить в области нечетких вычислений. Почему? Потому что он не знает математики. Он может использовать только то, что уже придумано до него.

Ni0x
20.11.2007, 20:34
Dword, по твоему что, кодер-математик и есть программист? А как же проектирование?

DWORD
20.11.2007, 20:39
Dword, по твоему что, кодер-математик и есть программист? А как же проектирование?
А что под этим понимается? Это что, какая-то наука?

.Slip
20.11.2007, 20:43
Интересно наблюдать за Dword'ом. Почти в каждом его посте излучается такая самоуверенность и ощущение 100%-го знания всего. (Не именно в этой теме, в большинстве постов). + У него чёткие представления о настоящих хакерах, отличные познания в морали/аморальности.

2dword, скоро твои сообщения на форуме будут превышать макс. размер символов. Не пора ли выходить в печать? Назвать книжку например "Я скептик" или например "Идиоты которые считают себя хакерами". Можно просто назвать книгу "Я - идеал" и разложить все твои размышления там по разделам. Я бы купил, серьёзно.

nerezus
20.11.2007, 20:44
Все что угодно, примеров куча: Я не про это спросил. Не пример привести. А создать мат. модель. Я не знаю такого понятия применительно к программированию.
Повторю:
Вот есть задача: написание текстового процессора. Сделай математическую модель.

Что подразумевать под "его" технологией? Давай возьмем программиста web.
Т.е. это PHP/Python(к примеру), HTML, XML, XSLT и т.д., SOAP/xml-rpc/и т.д., SQL(например MySQL), HTTP, умение поверхностной настройки сервера, nix.
Типичные задачи знаешь же? Ну вот где там применить кучу мат. знаний?

P.S. Писал парсеры(трансляторы, интерпретаторы), игры, всякий сетевой стафф, создавал с нуля свою ОО ГУЙ-либу. Сейчас работаю над хитрой реализачией радужных таблиц. + пара проектов PoC.

nerezus
20.11.2007, 20:45
Короче я подумал, что надо дождаться от Dword его мат. модели текстового процессора с описанием полезностей оной модели. А потом и вести разговор.

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

DWORD
20.11.2007, 20:48
Я не про это спросил. Не пример привести. А создать мат. модель
А вы перечитайте мой пост от начала и до конца, о чем спор? В конце фраза про ухогорлоноса - ответ на вопрос.

Интересно наблюдать за Dword'ом. Почти в каждом его посте излучается такая самоуверенность и ощущение 100%-го знания всего. (Не именно в этой теме, в большинстве постов). + У него чёткие представления о настоящих хакерах, отличные познания в морали/аморальности.

2dword, скоро твои сообщения на форуме будут превышать макс. размер символов. Не пора ли выходить в печать? Назвать книжку например "Я скептик" или например "Идиоты которые считают себя хакерами". Можно просто назвать книгу "Я - идеал" и разложить все твои размышления там по разделам. Я бы купил, серьёзно.
Хех. Да ничего подобного, я ни о чем не спорю, я просто интересуюсь и излагаю свою точку зрения, может быть у меня это получается как-то необычно, раз такая реакция.

.Slip
20.11.2007, 20:51
Хех. Да ничего подобного, я ни о чем не спорю, я просто интересуюсь и излагаю свою точку зрения, может быть у меня это получается как-то необычно, раз такая реакция.
Не, я имел в виду не именно этот тред. Как варинат, мне было интересно читать очерк о античате в собственно созданной тобою теме.

Ладн, не буду больше оффтопить. Но про выход в печать - подумай.

PS 2nerezus, не стирай плз мои два поста в этой теме.

nerezus
20.11.2007, 21:06
В конце фраза про ухогорлоноса - ответ на вопрос. Пардон, но эта тема не про ухогорлоносов. И сравнение это я считаю абсурдным. Почему бы просто не ответить на поставленный вопрос без кучи невнятных аналогий?

Хочу математическую модель как подтверждение к твоей фразе о том, что программист это должен делать. Так же поясни достоинство использования этой модели(я хз что ты имеешь ввиду под математической моделью системы)
В качестве примера — текстовый процессор.

DWORD
20.11.2007, 21:12
Пардон, но эта тема не про ухогорлоносов. И сравнение это я считаю абсурдным. Почему бы просто не ответить на поставленный вопрос без кучи невнятных аналогий?

Хочу математическую модель как подтверждение к твоей фразе о том, что программист это должен делать. Так же поясни достоинство использования этой модели(я хз что ты имеешь ввиду под математической моделью системы)
В качестве примера — текстовый процессор.
Во-первых я не обязан решать поставленную вами задачу, заплатите деньги, я рассмотрю предложение. Это раз. Два, какой смысл в решении конкретной задачи, когда я описал круг задач, которые программист обязан уметь решать, и которые кодер, возможно, решить окажется не в состоянии. Три - а почему в поставленной задаче должно присутствовать математическое моделирование? Из моих рассуждений этого не следует. Нет логики у вас, у меня, вроде бы есть, вот кто здесь "тролль"-то. Если нужны примеры математических моделей, на основе которых сегодня решаются реальные задачи - пишите, на приведение ссылок у меня время найдется.

nerezus
20.11.2007, 21:28
которые программист обязан уметь решать Каждую из них или любую из них? )

Насчет любую - согласен(ну только стоит добавить еще задач из других областей).
Каждую — это глупо. К примеру я не возьмусь разрабатывать криптографическую систему только по той простой причине, что это не мой профиль, так же, как какой-нибудь другой программист не будет писать Cms для вебмагазина, потому что его профиль — программирование графики.
Все же знать невозможно. И не нужно.

Три - а почему в поставленной задачи должн присутствовать математическое моделирование? Только геометрия. На уровне школы. Правда ее много.
Значит оно нужно не в каждой задаче. Причем заметь, что моя задача более приближена к программерским будням, но решение ее неочевидно(не типовое).

DWORD
20.11.2007, 21:39
Естественно не в каждой, естественно возможность решить задачу не предполагает обязательное ее решение.

nerezus
20.11.2007, 22:07
естественно возможность решить задачу не предполагает обязательное ее решение. А если человек не может решить определенную задачу? Но может решить пару других из списка.

оlbaneс
21.11.2007, 00:05
Совет мой тебе такой - забудь про "плюсики" и про "минусики", закрой страницу этого сайта и никогда на нем больше не появляйся. С этого надо начать прежде всего, я не шучу, а правда так считаю (подробнее см. очерк http://forum.antichat.ru/showpost.php?p=465103&postcount=8).

дядь, примерь эти ботинки на себя и уйди с ачата, если действительно ТАК считаешь, как мне советуешь (ты же не считаешь что всему научился , а ;) ?). был предметный разговор. твоими стараниями получился громкий сотряс воздуха.
я больше не пишу ибо беспредметно. :mad:
п.с. спасибо что не поставили - .
п.п.с. прочитал эту ссылку. жесть. сам себе противоречишь. особенно понравилась фраза* Считайте эту преамбулу унарным оператором воздействующем на весь ниже лижащий текст =]* кто там кого лижет?. жестяная жесть. все. затыкаюсь.

DWORD
21.11.2007, 00:21
дядь, примерь эти ботинки на себя и уйди с ачата, если действительно ТАК считаешь
Мне уже поздно.

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

* Считайте эту преамбулу унарным оператором воздействующем на весь ниже лижащий текст =]* кто там кого лижет?. жестяная жесть. все. затыкаюсь.
Эта досадная опечатка уже была исправлена в копии этого текста в теме "Вы античатовец?" раздела "Болталка", к сожалению за давностью сообщения не могу ее исправить там :mad:

$ch-
07.01.2008, 04:08
Явно большая часть новичков, прочитав это всё (или даже не дочитав) перехочет быть программистами.
Учиться, учиться и еще учиться.

-=lebed=-
07.01.2008, 12:42
Я начинал с бейсика (так как раньше он был встроен практически повсеместно) потом Assembler Z80, 8086/88; Fortran, Pascal, C- (понравился своей лаконичностью).
И вообще надо изучить основы построения алгоритмов, а какой применять язык - это дело удобства, выбора. Изучив один язык, а именно научившись рисовать блок-схемы, в последствии вам не составит труда выучить особенности и синтаксис любого другого языка... Щас занялся php так как без его знания мне дальше не продвинуться...

nerezus
07.01.2008, 12:51
Изучив один язык, а именно научившись рисовать блок-схемы, в последствии вам не составит труда выучить особенности и синтаксис любого другого языка... Эх.... ты статью читал? Умение составлять алгоритмы еще не делает тебя программистом.

-=lebed=-
07.01.2008, 12:58
Эх.... ты статью читал? Умение составлять алгоритмы еще не делает тебя программистом.
А я им и не собирался быть, но кодить иногда приходилось(тся)... Быть просто только программистом - это не моё, кодил всегда для себя, для души, для саморазвития, задачи стать программистом я не ставил...

MacTep
08.01.2008, 21:42
Забавно.. Интерпретатор свой я писал. Изначально это был лексический разбор выражения и наросший на него двустековый калькулятор, после потихоньку пришел к интерпретатору..
Что-то типа wget`а тоже писал. Немного не на ту тему, но уровня того же..
А вот "олимпиадную" задачку такую не решал.
Даж интересно стало))
/me ушел писать...

desTiny
26.01.2008, 19:19
Задача 1 (уровень: продвинутый школьник)
Старая задачка, обычно на школьных олимпиадах ее дают:
Имеется матрица (n*m) заполненная 1 и 0. Единицы - это острова, а нули - море. Если единицы находятся рядом по горизонтали или вертикали - то они образуют один остров. Найти количество островов.
P.S. Естественно могут быть "гнутые" и "дырявые" острова.
P.P.S. Как не странно, но решают ее редко, хотя она достаточно легкая.


М-м-м.. dfs? и в чём проблема? PS это уже алгоритмы...

procedure
12.04.2008, 16:03
Для администрирования FreeBSD. Какой язык нужно знать?

zythar
12.04.2008, 16:09
английский (*

fr0$t
12.04.2008, 22:03
Для администрирования FreeBSD. Какой язык нужно знать?
Английский это хорошо но не мешало бы Bash и Perl =)

DWORD
18.04.2008, 16:21
английский (*
Вот действительно хороший совет. Литературы, официальной и неофициальной документации по технологиям, алгоритмам, приемам, языкам и т.д. на английском столько что глаза разбегаются. Основная сложность работы с такими документами - языковой барьер. Наверно это очень верный совет - первым делом любой программист должен _хорошо_ овладеть английским до уровня свободного чтения-перевода. Это наверно один из основных шагов на пути карьеры программиста. И вообще любого инженера.

ToniKapuchon
24.07.2008, 15:31
Вот действительно хороший совет. Литературы, официальной и неофициальной документации по технологиям, алгоритмам, приемам, языкам и т.д. на английском столько что глаза разбегаются. Основная сложность работы с такими документами - языковой барьер. Наверно это очень верный совет - первым делом любой программист должен _хорошо_ овладеть английским до уровня свободного чтения-перевода. Это наверно один из основных шагов на пути карьеры программиста. И вообще любого инженера.
довольно таки распрастронённое мнение, что программист без анлийского языка не программер! Но не знание языка - особо не мешает мне программировать, тут главное желание!

Forcer
26.07.2008, 10:56
"Пока человек не знает английского, он так и будет продолжать общаться с компьютером, а не с заказчиком." - прочитал давно на каком-то форуме. Мудрая мысль.

ToniKapuchon
DWORD все правильно сказал. Английский реально нужен.

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

довольно таки распрастронённое мнение, что программист без анлийского языка не программер!
программер. Различие в уровнях. Можно написать hello world и стучать кулаком в грудь что ты программер, и ведь по сути будешь прав. Я конечно утрирую, но тем не менее.

Но не знание языка - особо не мешает мне программировать, тут главное желание!
Вопрос - как ты собираешься сопровождать свой код, делать документацию, презентации, узнавать у заказчика детали, требования? Среди заказчиков крупных, enterprise-приложений русских не найдешь, а если не enterprise приложение, но просто крупное и для русских заказчиков, то все равно требуется документацию на английком делать.

Как ты собираешься изучать новые технологии, находиться на мэинстриме этих самых технологий? Или ты и дальше собираешься читать на русском книги какого-нибудь Васи Пупкина или переводы иностранных книг, которые выпускаются в лучшем случае через год после английских?

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

//------------------------------------------
Почитал снова коменты в начале, вот один из, который заинтересовал:
ссылка: http://forum.antichat.ru/showpost.php?p=360483&postcount=17
Сам пост by nerezus'a:
. Уверен на 99.8% в обратном. По крайней мере ни один из 4 перподов(с которыми приходилось общаться) его не знал нормально у нас. И я уверен, что ситуация такая везде, т.к. не преподам платят мало, а программист может зарабатывать много. Поэтому преподы особо много не знают
Впринципе согласен. Но мне лично немного повезло, видимо я попал в те оставшиеся 0.2 %. У меня было тоже в универе 4ре преподавателя по программированию. Двое из них - преподавали только по субботам. В остальные дни - они работали программистами. Преподавали чисто для себя, такие деньги, которые платят за преподавание, им были не нужны. Вот с ними было реально интересно. Один из них, лет 50 ему было, рассказывал нам про историю, про свою молодость - как он программировал, сдавал перфокарты :). На дом задавал решать классические задачи программированию - типа задач про узников и шляпы, про мудрецов и дракона, про слепого, одноглазового и зрячего - классные задачки вообще :). Он был очень умным, уже умудренный опытом, но не смотря на это был в курсе современных технологий, не совсем мэинстрима, но тем не менее не старым пердуном, преподавал он у нас системное программное обеспечение. Второй - молодой - работает с++ программистом в яндексе. Преподавал с++. Я у него очень старался - ходил на все лекции - задания раньше всех сдавал =) - он мне потом давал более продвинутые задания и пытался донести до меня суть паттернов проектирования, тогда я это как-то не очень воспринял - мало опыта было.
Вприцнипе к теме прямым образом не относится, но просто захотел рассказать. А так надо все изучать - синтаксис, алгоритмы, технологии. Для меня порядок такой. Но первые 2а пунтка со временем и развитием уходят на второй план - остаются как background и на передний план выходят технологии. Но без синтаксиса первоначально невозможны два других пункта.

lisa99
26.07.2008, 12:43
не преподам платят мало, а программист может зарабатывать много. Поэтому преподы особо много не знают ;)
а так хорошо начал)) мне понравилось))
не поэтому преподы многого не знают что мало платят, а потому что от них этого никто не требует. И еще какой вуз - в бауманке дебилов нету=)
Что касается кодинга..я начинала с ассемблера z80.
корявый путь)) но была корысть и это подвигало вперед. В остальном же -могу высказать крамольную мысль - пхп специфицен, заточен на веб-технологии, и кое в чем развращает, так же как и агатовский бейсик.
Далее...в кодинг на пхп вливается армия самоучек, которые понятия не имеют, как правило, о сложных алгоритмах, об эффективности и оптимальности кода (кроме узких задач парсинга) - никто не научил...
Что имеем в итоге?
Тучи скриптов, которые работаю хз как. Я когда добралась до чужих сайтов с красивыми фронтендами была поражена глючным админкам, и куче ошибок.
а знаменитые cms? не вам рассказывать об их багах..Новенькие же плодятся и размножаются. Я сочувствую девелоперам, они хотят кушать, но..почему я -юзер- должна страдать от их кода ?=)
ps. есть у меня пару тестовых задачек на время (15-20 мин). сколько уже рожек обломано на них..стучатся, просят работу, получают тестовый примерчик..и усё...(( причем на них попадались даже кодеры известные в сети...
только "аццкие" укладываются в срок..

-=lebed=-
26.07.2008, 12:48
Лизанька (можно я так буду называть тебя)
Во сколько комманд (или машиных циклов) ты уложилась, писав функцию преобразования адреса для видеобласти на Зэд80, чтоб корректно пользоваться потом собственой плот(икс,игрек) :confused:

lisa99
27.07.2008, 20:44
Лизанька (можно я так буду называть тебя)
Во сколько комманд (или машиных циклов) ты уложилась, писав функцию преобразования адреса для видеобласти на Зэд80, чтоб корректно пользоваться потом собственой плот(икс,игрек) :confused:
Котик,.. ну ты как-то некорректно про видеообласть,уж извиняй..
чего только не цепляли на Z80-и жк-дисплеи, и матрицу из светодиодов
(я и сама на нем контроллер делала)
А что касается игровых компьютеров..первые 16К ОЗУ можно было так назвать,
Однако, ты много отменя хочешь..чтобы я вспоминала сколько там
регистров (8+4??), и как организован вывод точки (8 бит..эээ.яркость/мигание/цвет?)
И кому это нужно?-здесь и сейчас.
Пользуясь случаем - обсуждала как-то хеш md5 на китайском хакерском форуме,
дала ссылочку на твой сервис. Ты б хоть английский язык подключил;).
проспамил бы по буржунету, навесил ссылочки/баннеры.
И база бы пополнилась, и денежка закапала...

Delimiter
27.07.2008, 21:22
Во-первых я не обязан решать поставленную вами задачу, заплатите деньги, я рассмотрю предложение. Это раз. Два, какой смысл в решении конкретной задачи, когда я описал круг задач, которые программист обязан уметь решать, и которые кодер, возможно, решить окажется не в состоянии. Три - а почему в поставленной задаче должно присутствовать математическое моделирование? Из моих рассуждений этого не следует. Нет логики у вас, у меня, вроде бы есть, вот кто здесь "тролль"-то. Если нужны примеры математических моделей, на основе которых сегодня решаются реальные задачи - пишите, на приведение ссылок у меня время найдется.

+1000!
Работал в России работал забугром ... и знаю что кодеры они никому не нужны ... их стоимость очень низкая .... приезжают отбивают бабки .... уезжают а их код переписывают программисты чуть позже( .... плюнув смачно в сторону тупорылых кодеров...)в ТО ЧТО НАДО !

lisa99
27.07.2008, 23:15
Поставим вопрос стартового топика в другой плоскости.
А где критерий, что ты СТАЛ программистом??
- прошел платное тестирование, получил сертификат?
-сделал крупный проект?
- быстро решаешь поставленные задачи?
-кодишь с утра до ночи?

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

nerezus
28.07.2008, 08:30
А где критерий, что ты СТАЛ программистом??
- прошел платное тестирование, получил сертификат?
-сделал крупный проект?
- быстро решаешь поставленные задачи?
-кодишь с утра до ночи?
Ну я считаю, что достаточный критерий - это умение красиво(расширяемо) решить абсолютно любую задачую в своей области в определенные сроки. Но это избыточный критерий.

Выложи пару тут, интересно.. Ну или в личку кинь. Заранее благодарен. Могу выложить простую алгоритмическую. Считай, что у тебя 20 минут(я решил и закодил за 7, причем код был в 2 раза меньше, чем в решении, вышло 9 строк).

Есть игровое поле из клеток. И игральный кубик 6 граней. Сколько вариантов существует чтобы дойти до 32 клетки?
Это задача из алгоритмических, но она легкая, одна из модификаций одного ряда, про который мы все слышали.

lisa99
28.07.2008, 09:26
Есть игровое поле из клеток. И игральный кубик 6 граней. Сколько вариантов существует чтобы дойти до 32 клетки?[/b]
Это задача из алгоритмических, но она легкая, одна из модификаций одного ряда, про который мы все слышали.

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

nerezus
28.07.2008, 10:06
а)Клетки на игровом поле пронумерованы, видимо. Ага, от 1 до 32.

б) бросок кубика -полученное число - суммируется с предыдущим числом(рез. броска)? Бросается кубик. Потом еще. Потом еще... и двигается фишка на игровом поле от 1 до 32. Будем считать, что перелетов через 32 не будет

в) сколькими способами можно разложить 32 на сумму слагаемых? Ну можно и так сказать. При условии что порядок слагаемых имеет значение, и слагаемые не могут быть больше 6. И не 32, а 31(ибо фишка изначально на 1 стоит)

с. если это тот ряд на котрый ты намекаешь... напиши, там не много же ;) 33*****22?

Пиотр Тотамович
09.08.2008, 01:07
довольно таки распрастронённое мнение, что программист без анлийского языка не программер! Но не знание языка - особо не мешает мне программировать, тут главное желание!
Ну и что, ты что-нибудь дальше хеллоу вордов программировал? Любому инженеру, не только программисту, без английского тяжко. Много литературы написано на английском хорошей и качественной. Много лекций элитных западных вузов с мировым именем доступны в свободном доступе, информацию, которая в них содержится, зачастую просто невозможно достать откуда-то еще. разумеется эти лекции не на русском. Всякие специфичные документации по технологиям, протоколам, интерфейсам, "даташиты" и т.д. и т.п. - все это на ангийском.


nerezus в этих задачах компактность кода вообще не критерий. критерий - память и скорость.

jawbreaker
04.09.2008, 17:55
Наткнулся в интернете на любопытную статью Питера Норвига(американский ученый в области вычислительной техники, который в данный момент работает работает директором по исследованиям (ранее — директор по качеству поиска) в корпорации Google). Статья называется "Научитесь программировать за 10 лет". Советую почитать, вот линк (http://www.williamspublishing.com/21-days.html)

ruzzer
10.09.2008, 21:10
Я решил научится кодить на php и остановился на том, что у меня нет задачи. Нечего кодить. нет идей. И поэтому я не развиваюсь. Если бы я учился в Универе на прогера, то там бы задвали лабораторные всяки, другими словами , есть что кодить...

Thanat0z
10.09.2008, 21:27
Я решил научится кодить на php и остановился на том, что у меня нет задачи. Нечего кодить. нет идей. И поэтому я не развиваюсь. Если бы я учился в Универе на прогера, то там бы задвали лабораторные всяки, другими словами , есть что кодить...

это лишь оправдания собственной лени

jawbreaker
10.09.2008, 22:49
Я решил научится кодить на php и остановился на том, что у меня нет задачи. Нечего кодить. нет идей. И поэтому я не развиваюсь. Если бы я учился в Универе на прогера, то там бы задвали лабораторные всяки, другими словами , есть что кодить...

Вот уж не знаю чему в универе учат. ИМХО большинство людей учащичся в вузах на таких факультетах станут средненькими кодировщиками, а вот чтобы стать программистом нужно постоянно учиться тк технологии не стоят на месте. Лично я в школе начал программировать на кружке и с тех пор сам учусь.

alextoun
10.09.2008, 23:06
Я решил научится кодить на php и остановился на том, что у меня нет задачи. Нечего кодить. нет идей. И поэтому я не развиваюсь. Если бы я учился в Универе на прогера, то там бы задвали лабораторные всяки, другими словами , есть что кодить...
поверь я када на питоне начинал писать, а ведь пхп заметно поппулярнее питона, я тоже думал, ну где же примеры взять. Тупо качал все книжки подряд, и из разных манов(ну по той теме) брал примерные задачи+ перерабатывал на свой вкус, в конце концов, постепенно в голову начали сами приходть мысли. По началу это были мелочные программки, и практически ненужные. Дальше лучше, главное желание.

"Научитесь программировать за 10 лет". Советую почитать, вот линк
ну знаеш, можно по 10-20 минут в день проводить за книжкой по какому-нибудь языку, тогда ты и в 10 лет не уложишся. У меня сосед раз захотел написать свой сайт, при этом ни зная не единого тега html. За 3 дня он прочёл книгу в 400 страниц, и через 5 у него уже был сайтец неплохой.......это так к примеру.

jawbreaker
10.09.2008, 23:21
Сайт-то у него есть, но вот стабильной профессии и соответственно стабильного заработка нет(по крайней мере в it). Да, и статью-то всё-таки прочитай, там не про то как по 10-20 минут в день проводить за книжкой по какому-нибудь языку

Jak_remember
18.09.2008, 14:15
Имхо желания стать программистом не достаточно... нужно еще логическое мышление... ибо все алгорифмы чистая логика. Язык программиования это по идее логический текст, который комплятор соберает в ехе.
Я думаю людей можно разделить на два типа:
1. Творческие люди, 2. Точные(Научные) Люди.
1 тип это люди склонны к творчесву. 2 тип это люди которым даються легко точные науки.
К какому типу относитесь вы думаю можно определить еще в школе. К примеру, я очень легко овладеваю математикой... НО когда мы пишем диктант у меня очень низкие балы. И с рисование у мну не оч. Зато логические задачи на олимпиадах щелкаю как гопник семочки:).
Так вот, к чему виду. Второй тип более склонен к программированию. Конечно нельзя сказать, если ты творческий человек тебе не стать программистом. При соотвествуещем желании/терпении/усидчивости и минимальным уровнем лени можно всего добиться. Просто люди второго типа лучше вопспринимают кодинг.
Сам я раньше ленился оч... НУ впринципе комп у меня всего два года... Первый год я только играл:) Шо с меня взять ребенок. Потом мну потянуло, а шо ж там внутри компа... и Как он рабоатет... С тех пор началось. Я не хочу сказать что я кулхацкер. Я нубчег. НО(большое такое НО) в моем городке (население дето 10 000) есть три человека которые шарят хорошо в компах(я имею ввиду как кодинг так и железинг :d ), один из этих человек я:)

Вся выше сказанная инфа, лиш мое ИМХО.

nerezus
18.09.2008, 14:37
это по идее логический текст, который комплятор соберает в ехе. В очень частном случае ))

Так вот, к чему виду. Второй тип более склонен к программированию. Как по мне - то одинаково. Сам я отношусь к первому типу по твоим определениям.
Но чем дальше - тем больше осознаю, что именно творческий подход и нужен(если конечно не надо что-то тупо закодить или составить какой-нить алго)

Jak_remember
18.09.2008, 14:54
nerezus
Ну я ж писал Имхо:) Да и не опытный я такой что бы утверждать и настаивать на своем:)

Но чем дальше - тем больше осознаю, что именно творческий подход и нужен

Ну может я не правильно объяснил. ВОт у мну есть друг... он раньше тож хотел учиться на прогера. Передумал когда у него не получалось писать проги на турбо паскале. Ну вроде синтаксис знает лучше меня... но шоб написать простенькую прогу ему надо было очень много времени. А вот сделать налог(даешь ему исходник и шо нада добавить) он его исправит, допишет и сделает рабочую прогу.

Хотя... ты прав...
Исправил:
1 Тип людей(жесткий диск):
Очень развита память, хорошо могут выучивать различные правила, слова и тд. НО тяжело применяют их на практике.
2 Тип Людей(Биопроцессор):
Умеют очень хорошо применять свои знания в жизни, но не всегда обладают хорошей памятью.
:D

Sinay
18.09.2008, 16:07
программист без математика внутри-секретарша
поэтому чтобы стать нормальным прогером и писать программы,считающие нетолько корни квадратного уравнения,без этого не обойтись
а выучить синтаксис любого языка-не проблема,а вот как приминить,как улучшить алгоритм и тп-это уже стоит задуматься...
тем более математика развивает мышление...

nerezus
18.09.2008, 16:53
Эх, опять по кругу...
ну написать алгоритм - это далеко не главное же.

gisTy
18.09.2008, 17:00
А что главное...?!! Знать лексику и синтаксис языка программирования?!?!?!перечи тай тему, там все описывалось

Sinay
18.09.2008, 17:01
а что главное?
перевести алгоритм в программу-неособая проблема
не спорю,что есть многое другое,тоже важное,но алгоритм занимает больше всего важности...

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

paulzey
18.09.2008, 17:07
Приличная часть алгоритмов уже придумана. Их сложности посчитаны. Известны эффективные.
Рисовать блок-схемы "в голове" с навеской кода тоже не всегда представляет большую сложность (и ценность).
Скорее всего, программирование есть комплекс *всего*, всключая опыт, навыки, знания, в том числе и из других предметных областей, а также то самое "творчество".

Sinay
18.09.2008, 17:11
алгоритмы-то придумали,но не все их знают,тем более не все используют
немногие задумываются об улучшении алгоритма,как он работает
даже с такими казалось бы простыми вещами, как представления числа в компУторе

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

nerezus
18.09.2008, 18:07
а что главное?
перевести алгоритм в программу-неособая проблема
не спорю,что есть многое другое,тоже важное,но алгоритм занимает больше всего важности... перечитай тему.

И пока я не расшарил в алгоритмах и мат.логике я нихера не мог сделать!!!!! Ты все равно не сделаешь нормальный проект, даже если будешь шарить в написании алгоритмов.
Это условие необходимое, но не достаточное.

Я говорю о знании конкретных технологий и о проектировании.

Jak_remember
18.09.2008, 18:48
Я её еще год назад читал!!! И год назад начал кодить!!! И пока я не расшарил в алгоритмах и мат.логике я нихера не мог сделать!!!!!

+1

Sinay
Моя первая программа как раз и решала квадратные уравнения:)

Я говорю о знании конкретных технологий и о проектировании.

Ну эт потом, для меня(ребенка) главное сейчас алгоритмы и языки:)

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

Sinay
04.11.2008, 01:41
Читать тут (http://ai.obrazec.ru/programmer.htm)

Shaitan-Devil
21.12.2008, 10:27
Не сочтите за поднятие старой темы,но кодеру прежде всего нужна матемтика.Т.к. все действия схожи Дано Формулы Решение.Дана задача формулы-синтаксис.Решение-Код.Т.е. программист должен используя средства языка написать код.

nerezus
21.12.2008, 11:04
Не сочтите за поднятие старой темы,но кодеру прежде всего нужна матемтика.Т.к. все действия схожи Дано Формулы Решение.Дана задача формулы-синтаксис.Решение-Код.
На синтаксисе ты далеко не уедешь.

Т.е. программист должен используя средства языка написать код. Неверно. Используя только стедства языка ничего крупного(кроме научного всякого стаффа) написать нельзя

Rejjin
01.01.2009, 08:23
Для первого языка (скриптового) я бы посоветовал Tcl/tk, ибо он очень прост в усвоении, тогда новичок обучится основным принципам программирования., а так же научиться строить алгоритмы. Вот приведу пример программы:

#!/bin/sh
# \
exec wish "$0" "$@"
proc paint {i} { #Создание процедуры "paint"
global color r g b #обьявление глобальных переменных.
set color [format #%2X%2X%2X $r $g $b]
set color [string map {" " 0} $color] #присваивание переменных.
.color configure -bg $color
.ctrl configure -bg $color
}
frame .ctrl
frame .color #создание области в окне
pack .ctrl .color -fill both -side bottom -expand yes #"оживление" обласи/виджетов
scale .ctrl.r -relief groove -label Красный -from 255 -to 0 -variable r -command paint
scale .ctrl.g -relief groove -label Зелёный -from 255 -to 0 -variable g -command paint
scale .ctrl.b -relief groove -label Синий -from 255 -to 0 -variable b -command paint
pack .ctrl.r .ctrl.g .ctrl.b -fill y -side left -expand yes #виджеты и их установка в окне
set color #000000
label .color.name -textvariable color
pack .color.name

Это програмка для выбора цвета по параметрам RGB. Как видите код очень прост, и даже незнание языка позволяет понять этот скрипт на уровне инстинкта (прграммиста :D)

второкурсник
05.01.2009, 09:51
не знаю как описать, вооще учусь на программера в колледже,сразу же вбили в наши головы что лучше бы начать с паскаля((,в чем все(одногруппники) сразу стали сильно сомневаться,могу сказать что понял почему именно паскаль, дело в том что это устаревший язык, но изюминка в том что если его брать как за базис то начинает развиваться и логика и умение составлять алгоритмы...а с этим умением можно потом смело идти изучать синтаксис=>придавать алгоритму форму,ну вот в принципе так я и думаю

nerezus
05.01.2009, 10:27
изюминка в том что если его брать как за базис то начинает развиваться и логика и умение составлять алгоритмы.. Как по мне - то помимо этого идет отвлечение на посторонние вещи вроде типизации.
Поэтому даже бнйсик мне кажется лучшим вариантом.

Сейчас вышла классная штука: Microsoft SmallBasic
Если с нуля, то хороший выбор, субъективно гораздо лучший, чем паскаль.
http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx

Red_Red1
05.01.2009, 13:10
2007
Сам бы я посоветовал Python или бейсик.

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


Говорить что бейсик тупиковая ветвь навязанная Майкрософтом не совсем корректно



Говорить что бейсик тупиковая ветвь навязанная Майкрософтом не совсем корректно

Но это верно. Простой довод: смотри дату последнего релиза.

2008
...Поэтому даже бнйсик мне кажется лучшим вариантом.

Сейчас вышла классная штука: Microsoft SmallBasic
Если с нуля, то хороший выбор, субъективно гораздо лучший, чем паскаль.
http://msdn.microsoft.com/en-us/devlabs/cc950524.aspx
И все же оказалось не таким уж и тупиком... :)
З.Ы. Хорошая поддержка статьи, и дебаты тут были, и вопросы-ответы, интересно кому помогла статья развиться с нуля и до... ну нету предела совершенству :)

-=lebed=-
05.01.2009, 13:15
2007
2008

И все же оказалось не таким уж и тупиком... :)
З.Ы. Хорошая поддержка статьи, и дебаты тут были, и вопросы-ответы, интересно кому помогла статья развиться с нуля и до... ну нету предела совершенству :)
Бейсик ещё в большей степени чем PHP "развращает ум"
(имеелась ввиду дисциплина программирования)...

nerezus
06.01.2009, 11:27
Red_Red1, ну кто же знал, что MS сделает новый Basic ;)
Просто до этого не было нормальных реализаций ;)

P.S. Стукни в асю еще раз)

lisa99
06.01.2009, 12:58
2007

И все же оказалось не таким уж и тупиком... :)
З.Ы. Хорошая поддержка статьи, и дебаты тут были, и вопросы-ответы, интересно кому помогла статья развиться с нуля и до... ну нету предела совершенству :)
Если речь идет о ветке в целом- и начальной статье и дебатах - то очень помогла. Уверена, что не только мне.
Мне признавался один кодер, что на форум заходит именно из-за раздела, который ведет nerezus, и вообще он тут почитает только nerezus-a и еще кого то))

Я с большим интересом перечитала все, взялась за задачку в начале, стало забавно Понравился доброжелательный тон (потом осенью nerezus стал позлобливей, видимо нагрузка увеличилась ;) ), высокий профессионализм ТС и СМ=)
Интересно было все, я ведь могу кодить, но ленюсь. А так..появляется вдохновение :D
Спасибо nerezus-y что поднял эту тему.

Да и дискуссии тоже важны. Это же не тупой флуд. Это интерес к кодингу...И вот развитие как раз....
===
Отдельное спасибо за ссылку на новый вариант бейсика. Тоже - в зачет.. :)

lisa99
06.01.2009, 13:08
Бейсик ещё в большей степени чем PHP "развращает ум"
(имеелась ввиду дисциплина программирования)...
если я напишу, теми словами, что я о тебе думаю..то меня забанят. Пожизненно :D

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

Да, я знаю недостатки и VB.NET и VBA, VB 6
Но в тоже время умных кодеров в этой среде хватает. Которые пишут солидные клиент-серверные приложения с той же MS SQL Server
А что касается начального уровня кодинга....ну написали студенты-экономисты прогу на VBA под эксел- и хватит. Или все должны начать с ассемблера?

geezer.code
06.01.2009, 13:09
Если речь идет о ветке в целом- и начальной статье и дебатах - то очень помогла. Уверена, что не только мне.
Мне признавался один кодер, что на форум заходит именно из-за раздела, который ведет nerezus, и вообще он тут почитает только nerezus-a и еще кого то))


Да и дискуссии тоже важны. Это же не тупой флуд. Это интерес к кодингу...И вот развитие как раз....
===
Отдельное спасибо за ссылку на новый вариант бейсика. Тоже - в зачет.. :)
Вы читали не очень внимательно.
Red_Red1 имел ввиду не ветку форума, а бейсик, как ветвь развития, ну или чтото подобное, имхо.

nerezus
07.01.2009, 02:48
Понравился доброжелательный тон (потом осенью nerezus стал позлобливей, видимо нагрузка увеличилась ) Да это так... жена осенью появилась :D

lisa99
07.01.2009, 03:47
я догадалась=)
Но, у тебя есть..в какой то мере педагогический талант. а учить и объяснять другим может далеко не каждый. Плюс, я встречала на некоторых форумах кодеров, которые так презирают нубов, что и советы их противно читать бывало. У тебя
это в легкой степени тлько=) или нету)
Остается пожелать все-таки выкраивать время для..как бы это сформулировать- .......для набора кодерских квестов, заданий программистского характера. Так иногда делает Eugen (если не ошибаюсь- админ вебхака). Если не лично - то кого то напрячь...Будет очень полезно - вот мое скромн. мннеие

Phm.phx
07.01.2009, 16:55
Программирование на мой взгляд - магия,творишь заклинания,продумываешь каждую деталь,и получается супер нега сильный продукт\заклинание:) но это образно говоря:) а почему ты так не очень хорошо о пыхе отзываешься?:) хороший же язык.

nerezus
07.01.2009, 23:57
а почему ты так не очень хорошо о пыхе отзываешься? Он грязный язык.
Многие ожидаемые вещи не работают(new SomeClass()->someMethod(); или some_function()[0];), есть грязные возможности вроде переменных переменных($$val) и т.д.
Советую начинать все же с питона(простота, элегантность, ООП,наличие функционального подхода)

Qwazar
24.01.2009, 14:04
ChaaK, множественного наследования и в Java нет, перегрузки операторов кстати тоже. Но я бы не сказал что это шибко необходимые вещи, в повседневном программировании.

nerezus
24.01.2009, 14:18
Еще не хватает множественного наследования, перегрузки операторов, Множественное наследование - зло. Его юзали до тех пор, как придумали интерфейсы. А они есть )

перегрузки операторов
Есть, синтаксис такой:
$a = $b->add($c). Т.е. Java-style.

karen1990
16.02.2009, 20:22
Посоветуйте мне пожалуйста, вот я хочу стать программистом или хотя бы любителем, писать программы простенькие для себя, фрейки к примеру, генераторы, мелкие программки на чём именно нужно начинать писать через какие программы и что для этого требуется какие знания. Нужно же после написания обработать через какую то программу, объясните основные этапы написания.

И второй вопрос куда посоветуете поступить в ВУЗ чтобы в лучшем виде научили программированию и информатике в целом?

playhard.g0pr0
16.02.2009, 20:50
Посоветуйте мне пожалуйста, вот я хочу стать программистом или хотя бы любителем, писать программы простенькие для себя, фрейки к примеру, генераторы, мелкие программки на чём именно нужно начинать писать через какие программы и что для этого требуется какие знания. Нужно же после написания обработать через какую то программу, объясните основные этапы написания.

И второй вопрос куда посоветуете поступить в ВУЗ чтобы в лучшем виде научили программированию и информатике в целом?
на delphy, какой город

karen1990
16.02.2009, 20:58
Москва

playhard.g0pr0
19.02.2009, 15:12
Москва
если поступишь то МГИМО конечно

karen1990
19.02.2009, 15:40
если поступишь то МГИМО конечно

вообще то в этом универе нет ни программирования ни информатики, причём тут МГИМО? :confused:

nerezus
19.02.2009, 16:05
И второй вопрос куда посоветуете поступить в ВУЗ чтобы в лучшем виде научили программированию и информатике в целом? В ВУЗе этому не учат. Ничего нового полезного по твоей области ты там не узнаешь.

zifanchuck
19.02.2009, 16:12
несколько вопросов)))
1)насколько я понимаю С С++ С# разные языки? какой из них лутше учить(востребован больше)
2)вообщим хочу изучить ПХП, Делфи, С(хз какой))), ну и потом наверное асамблер(если потяну). В каком порядке их учить? и может какойто выкинуть или добавить?

nerezus
19.02.2009, 17:50
1)насколько я понимаю С С++ С# разные языки? какой из них лутше учить(востребован больше) Да. C# и C++ - в разных областях.

2)вообщим хочу изучить ПХП, Делфи, С(хз какой))), ну и потом наверное асамблер(если потяну). В каком порядке их учить? и может какойто выкинуть или добавить? Учи python.

zifanchuck
19.02.2009, 18:32
Да. C# и C++ - в разных областях.
ну так какой лутше?)))

Учи python.

а как-же все остальное??)))

nerezus
19.02.2009, 20:37
а как-же все остальное??))) Ты уже ывучил питон?

ну так какой лутше?))) Что лучше - апельсин или какать?

zifanchuck
19.02.2009, 20:54
сори за идиотские вопросы))
а че питон ето типа самый крутой язык?)))

пс. а ты какие языки знаеш?)))

nerezus
19.02.2009, 21:08
пс. а ты какие языки знаеш?))) Много знаю.. самый прикольный - бычий. Он вкуснее.

а че питон ето типа самый крутой язык?))) Я такое говорил?

zifanchuck
19.02.2009, 21:34
nerezus, умееш же ты запутать)))
у меня был план выучить в таком порядке
HTML css -- php -- Delphi -- C -- асамблер)))

такой вариант норм?

nerezus
19.02.2009, 21:40
Я его уже написал =ъ

De-visible
19.02.2009, 22:06
ну так какой лутше?)))



а как-же все остальное??)))

Учи питон!

zifanchuck
19.02.2009, 22:11
Учи питон!

одного его хватит?

gold-goblin
19.02.2009, 22:12
zifanchuck
питон крос платформенен, подходит для написания web приложений. Потом можно учить C и делать модули для питона =)

karen1990
19.02.2009, 22:41
Учи python.

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

De-visible
20.02.2009, 00:22
Спасибо, по моему и на мобильниках идут программы питонские, буду учить :)
Идут на Винмобайл и симбиан!

Qwazar
20.02.2009, 01:02
nerezus, умееш же ты запутать)))
у меня был план выучить в таком порядке
HTML css -- php -- Delphi -- C -- асамблер)))

такой вариант норм?
Делфи выкинь, это реально тупик. И вместо С лучше сразу С++. А рядом с CSS поставь JavaScript. А самым первым освой хотябы паскаль 7.0 .

nitx
20.02.2009, 11:55
Посоветуйте задачки ( от самых простых, до посложнее ), но чтобы поинстереснее были :), тоесть более приближены к реальным задачам, а не тупо "из задачника".

SaiRus
20.02.2009, 13:42
Посоветуйте задачки ( от самых простых, до посложнее ), но чтобы поинстереснее были :), тоесть более приближены к реальным задачам, а не тупо "из задачника".

Дана функция Y=(2*x*x-12.5)*cos(x)
Найти экстремум этой функции методом прямого перебора, это по легче...по сложнее можно разобрать 2 других метода: дробный шаг и половинное деление ;) тока из головы задача не "из задачника"

zifanchuck
20.02.2009, 14:31
тогда выходит у меня такой путь)))
HTML CSS JavaScript -- php -- C++

слышал еще про ajax. Куда аджакс и питон всунуть в "мой путь програмиста"?)))

Qwazar
20.02.2009, 14:55
тогда выходит у меня такой путь)))
HTML CSS JavaScript -- php -- C++

слышал еще про ajax. Куда аджакс и питон всунуть в "мой путь програмиста"?)))

Тогда не забудь между "JavaScript" и "php" разобраться с тем, что действительно происходит, когда ты набираешь в браузере "http://forum.antichat.ru", и что действительно происходит, когда ты пытаешься отправить что-либо на сервер.

З.Ы.
А ajax сразу после PHP автоматически познаешь :)

procedure
20.02.2009, 15:08
Я бы посоветовал начинающему программиту начать с паскаля или С.

Эти 2 языка используются на многих олимпиадах. И учить не сам язык нужно, а алгоритмы.

zifanchuck
20.02.2009, 15:19
просто языков фигова туча и хз с какого начать. Одни говорят одно другие другое. Вот procedure и Qwazar скажыте какие языки и в каком порядке вы изучали)))

SaiRus
20.02.2009, 15:44
ИМХО сначало надо научиться понимать алгоритмы, что бы беглым взглядом уже понимать смысл листинга/блок схемы...а это лучше всего делаеться с паскалем...(много инфы+простота), а потом уже самому решить что нравиться больше либо софтострой/игрострой/веб и исходя из интересов выбирать, что учить дальше

Qwazar
20.02.2009, 15:45
Я бы посоветовал начинающему программиту начать с паскаля или С.

Эти 2 языка используются на многих олимпиадах. И учить не сам язык нужно, а алгоритмы. Лучше уж тогда паскаль, т.к. меньше заморочек, самое то для изучения алгоритмов. Я кстати об этом выше написал.

У меня кажется
Pascal->HTML->C++->C(универ)->CSS,JS->PHP, SQL->XSLT,XML,XPath->Assembler(универ)->Java

P.S.
А по алгоритмам советовал бы книжку Кормена, куда легче читается чем Кнут, т.к. псевдоязык там паскалеподобный. Читать всё кроме 2й главы :) И практиковать на паскале 7.0 (почему не на делфи? А потому что у паскаля при неправильной реализации многих алгоритмов тупо нехватит памяти, а у делфи хватит).

zifanchuck
20.02.2009, 16:00
Pascal->HTML->C++->C(универ)->CSS,JS->PHP, SQL->XSLT,XML,XPath->Assembler(универ)->Java

спс)
паскаль учим в школе)) Хтмл и css щас по книге учу)

procedure
20.02.2009, 23:27
Qwazar просто С ориентирован. В общем эти 2 языка лучшие для олимпиадников. Как я думаю и как я читал. Но многие могут думать по другому.

De-visible
21.02.2009, 00:03
спс)
паскаль учим в школе)) Хтмл и css щас по книге учу)
учи питон!

Gray_Wolf
07.03.2009, 20:33
У меня было примерно так:
Pascal(нихрена не понял),(забросил, прошло пол года),QB(основы+графика),VB->C->ASM,VBA,HTML->JavaS->CSS->XML->JavaA,MSsql->MySQL,Java->C++->PHP
Ну где-то так.

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

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

У многих программистов возникаем проблема с "любимым" языком, т.к. они пытаются всё писать только на нём. В следствии чего возникают лишние затраты времени и сил, а далее и цена программы. Для меня любимым языком является VB(перехожу на .NET), но уже давно, ничего сложнее простенького GUI для DOS утилит, я на нём не пишу ибо для более сложных программ есть более подходящие языки.

zifanchuck
07.03.2009, 21:50
я вообщим освоил азы хтмл щас учу пхп. С++ пробывал но он сложный, а пхп чуть легче)))

Pashkela
03.06.2009, 01:58
Никак не стать - ломать, ломать, ломать. И вообще. Программист и не хоцкер - это лажа. Можно написать ахренную CMS которая не проживёт и пару дней в паблике. Именно поэтому мне хоцкерство и интересно

ЗЫЖ Хотя на самом деле не по этому:)

nerezus
04.06.2009, 23:05
И вообще. Программист и не хоцкер - это лажа. Можно написать ахренную CMS которая не проживёт и пару дней в паблике. Именно поэтому мне хоцкерство и интересно Бред.

Если программист не шарит в SQL-inj, XSS и т.д., но при этом он прочитал мануал внимательно, то эти ошибки он не допустит.

К примеру нормальное знание SQL исключает SQL-inj. Причина проста: правильное использование стандартных средств это исключает.
Я не говорю, конечно, про устаревшие вещи типа mysql_* функций, но те, кто ими пользуются - сами себе злобные буратины.

desTiny
07.06.2009, 18:52
Что-то я прочтиал вниаметельно этот текст.. и как-то не могу промолчать.

Начну с середины - так обстоятельнее будет.


3) Определение первого языка для обучения. Эта часть займет около пары часов.

Эта часть может занять пару лет...

язык типа паскаля или бейсика: которые не применяются.

Процитирую одного моего знакомого: "Люди, которые начинали с бейсика, очень тяжело вылечиваются". По себе знаю.. но я вылечился)

Паскаль - хороший язык - но он действительно мёртв - и бессмыссленно пытаться осозновать в теперешнее время на уровне "а в досе было так", кроме как для исторической справки. Ну или для номинации demo 128b )). Начинать, так уж с делфы. Вирт очень неплохо постарался...

Разочарую их: Delphi и паскаль не имеют ничего общего кроме небольшого сходства в синтаксисе.
Вот тут можно поспорить, но это не так важно..

Однако хочу дать заранее совет: не стоит начинать с низкоуровневых вещей
А вот это бесспорно) но кому-то удаётся...

Итак, что у нас остается: Java, .NET(C#, VB.NET <...>), Delphi <...>. и скриптовые языки: Python, Ruby, Perl.
Java - абсолютно убогий язык, не устаю об этом повторять - и не стоит о нём вообще задумаваься, если заставлять не будут. Желающим поиграть с вм можно на Оберон посмотреть, про всё в этом языке (даже называть его по-другому не хочется - этот язык) даже хочется употребить слово "опошлено".
.NET - ей я не особенно занимался, но начинать с этого точно не стоит, так как появилась она как очередной продукт топ-менеджеров.
Delphi - да. именно с него и стоит. Притом желательно с версий <=7 (на выбор: 3, 6, 7). Самые последние версии я не смотрел (ещё), но 8-ая уже целиком прогнулась под микрософт под .NET. Хотя вроде обещали в последнем 3 варианта делфы - .NET, обычная и Prism - так что может и ничего.(Greets to Embarcadero)
Python - не знаю. Тут во мне возникает какое-то сомнение, хотя может оно и навеяно нелюбовью к скриптовым языкам вообще... пожалуй, тут я промолчу.
Ruby - почти ничего сказать не могу, так как очень мало им интересовался. Но то, что я слышал, говорило, что "Delphi Prism взял у Ruby идею типа 'переменная=класс'", что влечёт некоторые логические противоречия.. Об этом написано в ["Основы будущих систем баз данных. Третий манифест" (Дейт, Дарвен)] на примере "relvar = class". Но это только то, что я слышал. Можете меня поправить.
Perl - думаю, ясно, что это не то, с чео стоит начинать )
Так же существует PHP
Действительно. Существует такой ужас, которые некоторые языком программирования называют.

Сам бы я посоветовал Python или бейсик
А делфа таки лучше... Вирт - умный человек.. Уж он-то для своих студентов (и для облегчения жизни себе:)) постарался.

Кстати их объединяет одинаковая типизация: dynamic, strong. Кстати хочу заметить, что именно strong типизация позволит минимизировать количество логических ошибок.
Это dynamic позволет минимизировать количество логических ошибок? Неубедительно...

У C <...> типизация weak(слабая).
В C достаточно сильная типизация. Уж точно не надо ставить её в один ряд с пхп.

4) Итак язык выбрали, с чего начинать?
<...>Пример задачки(задача 1) можно увидеть в приложениях.

Задача 1 (уровень: продвинутый школьник)
Старая задачка, обычно на школьных олимпиадах ее дают:
Имеется матрица (n*m) заполненная 1 и 0. Единицы - это острова, а нули - море. Если единицы находятся рядом по горизонтали или вертикали - то они образуют один остров. Найти количество островов.

Ну.. конечно можно сразу писать dfs - но... всё-таки человек, который только начал программировть не знает даже такого алгоритма. Может, он и вообще про графы не знает... Калькулятор что ли лучше написать.. даже не знаю.

6) Чем отличается реальная задача от задачи из задачника? <..>Кстати, на этом этапе уже можно начинать зарабатывать. Однако качество продуктов будет хреновое ;)
Всё о том же?(
Решаем задачу 2(в приложениях). Задача 2 Написать аналог wget.
Ну да. Так можно)

7) Насчет проблем из пункта 5. Итак, изучаем ООП. Именно практическую часть, т.к. в пункте 4 теория уже была выучена. Этап занимает достаточно много времени.
А можно и начать с ООП) ведь что может быть интуитивно понятнее, чем:
Кастрюля = Посуда.Взять(Кастрюля);
Кастрюля.ЗалитьВоду(1 литр);
Каша = Крупа.Взять(Греча, 250 грамм);
Кастрюля.Засыпать(Каша);
и т.д. ?)

Так же больше работаем на практике: регулярные выражения, работа с БД и SQL, GUI, сокеты, высокоуровневые протоколы, такие как HTML, FTP и всякие xmlrpc и SOAP, набор технологий XML и прочие.
Какой некрасивый уход от чистого и иделаьного в теории ))
Можно действительно научиться всем этим пользоваться. Это даже полезно... Но я бы на этом этапе посоветовал почитать классику - Кормена, Кнута... Постичь сложные части программирования. Работа со всем вышеописанным - это прочтение нудной документации и способность её воспроизвести. Но мы же хотели творчества, не правда ли? Можно вообще заняться чем-то полезным, как например осознать весь ужас существования SQL'я и задуматься о Базах Данных, начитаться лиетературы, создать что-то новое и хорошее, а не то, что 20 лет назад должно было умереть, а до сих пор используется из-за вложенных в него капиталов(greets to Sun, Oracle,...). Вот в книжке уже мной упомянутой одно из положений основных гласит, что новый язык для работы с БД "не должен называться SQL". Почитайте, хорошая книжка... Да, но что-то я куда-то в сторону отошёл.

Решаем задачу 3(на выбор).
Задача 3A Написать BB-парсер. Естесвенно не тупой подстановкой регекспов.
Задача 3Б Интерпретатор/HTTP-сервер/etc на выбор.

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

Ты уже будешь сам знать, что тебе дальше делать.
Резонно.

6) Есть такое заблуждение: "Программист - это тот, кто умеет составлять алгоритмы". Так вот: умение составлять алгоритмы - требование обязательное, но не достаточное, на этом дальше 5 пункта(в этом обзоре) не уедешь.
Человеку, умеющему составить алгоритм, не составит труда за непродолжителное время его реализовать. Притом - на любом языке.


А теперь вернёмся к началу...(сейчс будет экспрессия)) )

1) А надо ли мне это?
действительно, советую хорошо подумать ;)
Если вообще возникает ткой вопрос - то тогда действительно только деньги могут заставить человека приступить к такому.

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


---------
Что-то какой-то длинный отзыв получился..

nerezus
07.06.2009, 19:58
Java - абсолютно убогий язык, не устаю об этом повторять - и не стоит о нём вообще задумаваься, если заставлять не будут. Феерический бред.
Это самый популярный язык сейчас, посмотри на вакансии.
Язык элегантный и простой, ничего лишнего.
Посмотри на высокооплачевыемые вакансии. Треть их - джава.

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


Существует такой ужас, которые некоторые языком программирования называют. Это твое мнение. Если бы он был ужасен, он бы не был так популярен. Следовательно ты неправ.
А пхп отлично решает свой класс задач.
Посмотри на Zend Framework - отличный инструмент. Качественный.

Это dynamic позволет минимизировать количество логических ошибок? Неубедительно... Читай внимательно. Я говорил про strong типизацию.

Ну.. конечно можно сразу писать dfs - но... всё-таки человек, который только начал программировть не знает даже такого алгоритма. Может, он и вообще про графы не знает... Калькулятор что ли лучше написать.. даже не знаю. Графы? Эта задача элементарно решается на чистой логике без всяких навороченных алгоритмов. Подумай на досуге ;)

А можно и начать с ООП) Если начинает человек с Java/.NET - то так и выйдет. Но поддерживаю.

А про интерпретаторы ты как-то сильно загнул) Нефиговая такая задачка для начинающих... Ну не совсем сложная ;) Информации море в сети ;) Так что выполнимо все.

Человеку, умеющему составить алгоритм, не составит труда за непродолжителное время его реализовать. Притом - на любом языке. И что с того? Его код будет говенным и неподдерживаемым. И сроки он просрет, т.к. будет один работать. А если уйдет на другую работу - то проекту конец.

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

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

И кстати. Реши задачку про острова. Будешь удивлен, насколько она простая. В итоге все выйдет проще, чем казалось изначально.

И еще: если ЯП.технология не нравится тебе(Java/PHP), это еще не значит, что она плохая.
Возможно ты просто не так ее используешь ;)

desTiny
07.06.2009, 21:24
>>Феерический бред.

Мне уже надоело объяснять своё отношение к этому языку) Из последнего приведу диалог с преподом:
a:Почему задачи на этом языке у вас очень медленно работают и поэтому не сдаются?
b:Ну.. на сервере стоит 5-ая джава...
a:Поставьте 6-ую
b:Шестая тоже г...

А то, что у сан,ibm и кто там с ними есть несколько млн(млрд?) $, которые они вбухали в "развитие" этого языка, чтобы конкурировать с MSVS?

>>Клон джавы от MS. Т.е. все, что применимо к джаве, применимо и к ней.
Ну вот я о том же ) Только мы разное применяем)

>>Это твое мнение. Если бы он был ужасен, он бы не был так популярен.
Да, альтернатив нет. Может, это повод придумывать альтернативы?) А то более медленного, нелогичного и не обращающего внимания на основные принципы ЯП я не видел.

>>Если начинает человек с Java
Ага. Это настолько смешной объектный язык, он об этом настолько кричит, что там хелловорлд без объектов не написать. При этом при работе с объектами он жутко тормозит. И (ещё один камень в ту сторону) - в языке, в котором "нет" указателей, трудно разобраться, не представляя, что это такое - кто на нём кодил, тот поймёт.

>>Графы?
Конечно, графы. Неявно - ну и что?.
i=0..x
j=0..y
if (!used[i][j])
dfs(i,j, номер острова);

dfs(i,j,k):
used[i][j]=k;
if (i>0&&j>0&&land[i-1][j-1]&&!used[i-1][j-1]) dfs(i-1,j-1,k)
....

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


>>Информации море в сети
А люди над этой задачей всю жизнь думают. К примеру, про алгоритмы на строках информации очень немного легко находится, а она тут немаловажна.

>>И что с того? Его код будет говенным и неподдерживаемым.
Не будет его код "говенным". Если человек умеет придумывать алгоритм, значит он уже имеет мозг (вещи типа отправки почты я алгоритмами не называю). А человек с мозгом может написать хороший код на любом языке. "Язык можно выучить за час, за месяц хорошо в нём разобраться, за год узнать все тонкости, а программированию можно учиться всю жизнь" - что-то похожее сказал ещё не я.

>>Как правило пункт 2 со временем переходит в 1 в большинстве областей.
Отмазался, но не ответил :P

>>Это проще, чем ты думаешь.
Я знаю, как это. И интерпретаторы - это очень непростая тема. Вот студентов такому 5 лет учат )


>>если ЯП.технология не нравится тебе(Java/PHP)
Ладно, таки скажу.
Как зарождалась жава: собрались сан,ibm,etc и решили - микрософт охренел. Взяли какое-то совершенное говно, которое подруку попалось (Oak, кажется), вбухали бабла и выплюнули. Постепенно дорабатывая, получили жутко тормознутый c++, из всех щелей которого прут объекты. Отказались от указателей - и здорово запутали программистов. Предъявили вм - и хоть бы сказали, что идея спёрта у Виртовского Оберона. В итоге всё тормозит ещё сильнее. И, когда язык устроен так, что в от переименования переменных и (!) добавления лишних ничего не делающих циклов программа работает на пол-, а то и целую секунду быстрее - вот это бред! Единственное спасибо им - за длинную арифметику и ещё несколько стандартных структур (тьфу, "ОБЪЕКТОВ"), которые обычно лень самому писать.

php вообще чёрти что) чего только стоит неразличие внутреннего представления строк от строки как типа данных) и тормозит также)

Fata1ex
07.06.2009, 21:50
Отлично, когда люди имеют собственное мнение и готовы его отстаивать. К сожалению это редко встречается = )

Qwazar
07.06.2009, 22:58
Java - абсолютно убогий язык, не устаю об этом повторять - и не стоит о нём вообще задумаваься, если заставлять не будут. Желающим поиграть с вм можно на Оберон посмотреть, про всё в этом языке (даже называть его по-другому не хочется - этот язык) даже хочется употребить слово "опошлено".

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

Delphi - да. именно с него и стоит. Всё написанное выше доставляет неимоверно. Очень рекомендую писать о том, о чём имеешь хоть какое нибудь представление.

Вкрадце - в наше время вообще не стоит прикасаться к Delphi, тем более как к первому языку. Почему? Всё просто - делфи мёртв. Если не хотите начинать карьеру с разбора чужого устаревшего и дико кривого кода - не трогайте (а делфи к кривому коду располагает).

Pascal, в отличии от делфи жив и жив будет ещё долго, как минимум до того времени пока от него не откажутся на международной олимпиаде ACM ICPC. Хотите учить алгоритмы и участвовать в олимпиадах - начинайте с Pascal.

Дальше, про Java и .Net ты рассмешил конкретно. Я чуть больше чем пол года назад ходил по собеседованиям. Так вот вердикт - у Java сейчас пик по количеству вакансий, т.е. Java программист найдёт работу с хорошей зарплатой быстрее всех остальных, C++ программисты нужны всегда, а у .Net хоть и вакансий меньше, но их количество постоянно растёт, и перспективы очень неплохие.

+ Java (как и .Net, если не заниматься расставлением контролов по форме, без понятия об MVC) приучает к хорошему ООП программированию.

Оберон - чисто теоретический труп, никому ВООБЩЕ не нужный, время на него тратить ВООБЩЕ не стоит.

З.Ы.
В общем, рано тебе ещё советы давать по этой теме. Без обид.

desTiny
07.06.2009, 23:23
Qwazar, единственное, в чём ты противоречишь мне - это то, что делфи мёртв. Так вот неправда) Хорошие специалисты и на делфе работу найдут (я таких знаю).

>>Pascal, в отличии от делфи жив и жив будет ещё долго, как минимум до того времени пока от него не откажутся на международной олимпиаде ACM ICPC. Хотите учить алгоритмы и участвовать в олимпиадах - начинайте с Pascal.
Паскаль мёртв, на ацм-е была только делфа и её пару лет назад убрали.

представление я имею - почитай следующий мой пост для аргументации)

PS Я не говорил, что надо начинать с Оберона...

Qwazar
07.06.2009, 23:38
desTiny, я сейчас глянул, да Object Pascal до 2009 года включительно разрешён. Сейчас судя по вики - C, C++, Java.

a:Почему задачи на этом языке у вас очень медленно работают и поэтому не сдаются?
b:Ну.. на сервере стоит 5-ая джава...
a:Поставьте 6-ую
b:Шестая тоже г... Это потому что у кого-то руки растут не из того места + если человек советует заменить 5ю Java на 6ю по такому поводу - он абсолютно понятия о Java не имеет и не понимает суть различий между Java 4,5,6.

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

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

Постепенно дорабатывая, получили жутко тормознутый c++, из всех щелей которого прут объекты. Отказались от указателей - и здорово запутали программистов. Ну не понимаешь ты о чём говоришь, ну как ты можешь рассуждать о вкусе устриц не попробовав их?? У C, C++, Java абсолютно разные области применения. Ты ещё скажи что на C++ неудобно веб-сайты писать. И отсутствие указателей, множественного наследования и прочих фенек языка C++ лишь упрощает разработку на Java, а не запутывает программистов.

desTiny
07.06.2009, 23:50
>>Это потому что у кого-то руки растут не из того места + если человек советует заменить 5ю Java на 6ю по такому поводу - он абсолютно понятия о Java не имеет и не понимает суть различий между Java 4,5,6.

А, то есть ты добавляешь, что они и версии криво нумеруют) Но все, с которыми я сталкивался - тормозят))))

>>Ну не понимаешь ты о чём говоришь
а давай не будем тыкать типа "ты не понимаешь"? Не стоит так говорить вместо "я не согласен". Ну не согласен, так не согласен. Я просто скромный идеалист, который искренне уверен в том, что что-то может иметь признание без денег... А всё, что ты пишешь сводится к следующему: "за этот язык платят бабки". Ну платят...

А если человек, разрабатывающий на этом языке интересуется, что я понимаю под траблами с указателями - объясню:

class A{
int a,b;
}
public class Main(){
public static void main(){
A[] arr = new A[100];
A t = new A(); t.a=1; t.b=2;
for (int i = 0; i<100; arr[i++] = t);
}

От языка без указателей следует ожидать копирования а не присваивания указателя на t.
}

nerezus
07.06.2009, 23:58
a:Почему задачи на этом языке у вас очень медленно работают и поэтому не сдаются?
b:Ну.. на сервере стоит 5-ая джава...
a:Поставьте 6-ую
b:Шестая тоже г... Ты глупо поступил. Из A не следует B, не стоит винить джаву в некомпетентности препода и того, кто писал софтину.

конечно, тут можно заюзать хитрую штуку - чтобы идти только например вправо и вниз, а если пришли в помеченную, то присваивать её цвет.. это вроде должно работать.. И ты скажешь - это без графов?) Есть простое регение. Очень простое.


Да, альтернатив нет. Твоя некомпетентность. Альтернатив хоть жопой кушай.

При этом при работе с объектами он жутко тормозит. Докажи )
Джава летает на задачах, для которых предназначена.

И интерпретаторы - это очень непростая тема. Вот студентов такому 5 лет учат ) Студентов не учат. По крайней мере программированию, а просто убивают их время и выдают корочки.

Как зарождалась жава: собрались сан,ibm,etc и решили - микрософт охренел. Взяли какое-то совершенное говно, которое подруку попалось (Oak, кажется), вбухали бабла и выплюнули. Постепенно дорабатывая, получили жутко тормознутый c++, из всех щелей которого прут объекты. Отказались от указателей - и здорово запутали программистов. Предъявили вм - и хоть бы сказали, что идея спёрта у Виртовского Оберона. В итоге всё тормозит ещё сильнее. И, когда язык устроен так, что в от переименования переменных и (!) добавления лишних ничего не делающих циклов программа работает на пол-, а то и целую секунду быстрее - вот это бред! Единственное спасибо им - за длинную арифметику и ещё несколько стандартных структур (тьфу, "ОБЪЕКТОВ"), которые обычно лень самому писать. Феерическое пиздобольство, не подтвержденное фактами )

От языка без указателей следует ожидать копирования а не присваивания указателя на t. Есть такое понятие, как ссылка ;)

Qwazar
08.06.2009, 00:04
а давай не будем тыкать типа "ты не понимаешь"? Не стоит так говорить вместо "я не согласен". Дык я имею в виду именно не "я не согласен", а "ты не понимешь" :)

От языка без указателей следует ожидать копирования а не присваивания указателя на t. Перед началом работы с языком, надо его выучить. То что ты указал выше - не проблема языка, а вполне документированная особенность. (nerezus выше даже уточнил)
Постепенно дорабатывая, получили жутко тормознутый c++, из всех щелей которого прут объекты Кстати, а у Haskell изо всех щелей прут функции ;) А про то что Java и C# базируются на объектах - дык суть в том, что современное промышленное программирование и проектирование вообще держится на принципах ООП и ООД, со временем приближается к ФП, а от процедурного программирования современные языки отошли, и зачем тогда его поддерживать, в таком случае? Как дань памяти?

Ну платят... А почему по твоему платят именно за него, а не за очень быстрый Assembler ? Видимо потому что эти языки поддерживают современные концепции промышленного программирования.

desTiny
08.06.2009, 00:06
>>Ты глупо поступил. Из A не следует B, не стоит винить джаву в некомпетентности препода и того, кто писал софтину.

я никого не виню) я просто пример привёл - b в диалоге это препод

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

>>Твоя некомпетентность. Альтернатив хоть жопой кушай.
Правда? и какие же альтернативы у пхп?)

>>Докажи
программа с кучей объектов (используемых как си-структуры) работает 1800 мс, без объектов - 150мс. Есть разница?

>>Студентов не учат. По крайней мере программированию, а просто убивают их время и выдают корочки.

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

>>Феерическое пиздобольство, не подтвержденное фактами )
м? вроде всё это известные исторические факты)

>>Есть такое понятие, как ссылка
Как-то хреново иметь ссылки и не иметь указателей)

Ладно, дискуссия всё равно тупиковая)

nerezus
08.06.2009, 00:29
я никого не виню) я просто пример привёл - b в диалоге это препод Значит он некомпетентен. И поэтому ты все равно неправ, так как привел его пример.

программа с кучей объектов (используемых как си-структуры) работает 1800 мс, без объектов - 150мс. Есть разница? Для задач, для которых она используется - нету.

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

м? вроде всё это известные исторические факты) Я не спорю, что в основе истории лежат факты, но вот большая ее часть... ;)

Как-то хреново иметь ссылки и не иметь указателей) Просто нет смысла их иметь. Так же, как и, например, перегрузку операторов )

desTiny
08.06.2009, 00:45
>>То что ты указал выше - не проблема языка, а вполне документированная особенность.

Не удержался: если б это ещё и недокументировано было, то это был бы полный песец)

>>Значит он некомпетентен.
Так, ладно. Контекст целиком мне приводить не хочется, так что откажемся от этого примера.

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

>>То есть польза от универа минимальна.
Это сильно выходит за рамки нашего разговора. Но поверь, есть хорошие места.

>>Для задач, для которых она используется - нету.
А вот этим ты и разрешил наш спор, показав разницу в корне наших взглядов) А что делать, если 1000 таких задач? ждать 150 секунд или 1500?)

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

Qwazar
08.06.2009, 00:49
Не удержался: если б это ещё и недокументировано было, то это был бы полный песец)
Советую почитать что такое ссылки. Кстати имхо такое поведение, которое ты назвал проблемой - более чем логичное. (Ты же объект не создаешь каждый раз и не клонируешь, так почему он должен копироваться?)

[n]-c0der
08.06.2009, 04:26
Квазар и Нер, все вы верно говорите только, про делфи ты(квазар) написал бредятину какую то, про то что он умер...
вот VB умер(я не имею ввиду платформу .net), а делфи пока еще живет).
Просто стало дохера мегопрограммеров на делфи, которые делают супер пупер фейки... такого безполезного до хера согласен, но это не значит, что на делфи нельзя сделать что то толковое...
Как я заметил, ты шаришь в Java на в С++ немного, а в делфи ты ноль, а все равно отзываешься о яп так...

Qwazar
08.06.2009, 11:16
Квазар и Нер, все вы верно говорите только, про делфи ты(квазар) написал бредятину какую то, про то что он умер... Я сужу с т.з. промышленного программирования. Так вот, на делфи реальных промышленных проектов практически нет и с каждым годом всё меньше и меньше. По сути работа делфи программиста, в наше время, сводится к поддержке старых продуктов.

Я не говорю о том, что на делфи нельзя написать что либо толковое. Я говорю о том, что тратить время на изучение делфи - очень расточительно, т.к. незачем учить язык, после изучения которого у тебя возникнут сложности с поиском работы, на котором практически невозможно найти интересную работу и который развивает в программисте привычку писать грязный код.

Моё мнение - оставьте делфи профессионалам из прошлого (они хотя бы умеют с ним работать). Сейчас его время однозначно ушло. И я бы никому не пожелал работать только на поддержке старого кода на отошедшем, в промышленных масштабах, языке.

З.Ы.
На делфи всё ещё можно писать толковые приложения, при помощи лука и стрел всё ещё можно подстрелить оленя, а при помощи каменного топора всё ещё можно отстроить дом. Но зачем, если есть средства удобнее и современнее?

Martyr
08.06.2009, 18:08
Решил вставить свои 5 копеек по поводу java.
У java есть очень серьезные перспективы на рынке малого и среднего бизнесса.Т.к. для небольших компаний самыми важными критериями являются:
а)стоимость разработки.
б)ее сроки.
в)возможность быстро отреагировать на меняющийся рынок.

Java удовлетворяет все эти требования благодаря масштабируемости,легкости в использовании,кросплатфор енности,большом сообществе программистов,и + ко всему выше перечисленному эта технология полностью бесплатна - вы можете скачать все необходимое с сайта сан и приступить к работе.
Также для стартапов очень важно быстро реализовать черновой вариант(быстрый набросок)бизнес идеи, как можно более привлекательной для возможных инвесторов.
К тому же как я уже заметил java отличается достаточной дешивизной разработки в сравнении с тем же С++("дикие или зависшие указатели","утечки памяти") такие ошибки в больших проектах достаточно трудно локализовать, соответственно и отладка стоит дороже.
По-поводу смерти языков скажу, что это как конец света, каждый год его прогнозируют, но он никогда не наступает, таким же образом обстаят дела и с ЯП, вспомните когда появился С++ предсказывали полную смерть С, ну и что он до сих пор используется (меньше, но используется),предсказывал и смерть С++ после выхода java,предсказывали смерть java после выхода С# а воз как говорится и ныне там.

Forcer
08.06.2009, 18:57
У java есть очень серьезные перспективы на рынке малого и среднего бизнесса.
"большого" бизнеса в том числе. я бы даже сказал в первую очередь.

Azmian
09.06.2009, 12:41
По своему опыту скажу, что, хотя выбор языка/платформы и имеет значение (на мой взгляд, главное, чтобы это не был прошлый век или тупик, типа FoxPro), но постепенно, с ростом опыта и должности, на первый план выходят: знание современных технологий, не зависящих от языка (XML, CSS, AJAX), проектирование (UML, IDEF1x), бизнес-аналитика (IDEF0, ARIS), организация процесса разработки и управление проектами.

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

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

Про профессии есть статьи на учёба.ру:
http://www.ucheba.ru/prof/
Про то как стать ИТ-специалистом, кое-что я нашёл тут (http://100reg.ru/?c=News.Press.PressItemView&Id=34)
А про то кто сейчас востребован на рынке, можно увидеть на http://hh.ru или суперджобе (http://superjob.ru) - и обратите внимание на должностные обязанности и требования к опыту работы - там нет требований к решению задач из задачников... хотя решать их иногда надо.

Ins3t
25.11.2009, 17:28
Я сужу с т.з. промышленного программирования. Так вот, на делфи реальных промышленных проектов практически нет и с каждым годом всё меньше и меньше. По сути работа делфи программиста, в наше время, сводится к поддержке старых продуктов.

Я не говорю о том, что на делфи нельзя написать что либо толковое. Я говорю о том, что тратить время на изучение делфи - очень расточительно, т.к. незачем учить язык, после изучения которого у тебя возникнут сложности с поиском работы, на котором практически невозможно найти интересную работу и который развивает в программисте привычку писать грязный код.

Моё мнение - оставьте делфи профессионалам из прошлого (они хотя бы умеют с ним работать). Сейчас его время однозначно ушло. И я бы никому не пожелал работать только на поддержке старого кода на отошедшем, в промышленных масштабах, языке.

З.Ы.
На делфи всё ещё можно писать толковые приложения, при помощи лука и стрел всё ещё можно подстрелить оленя, а при помощи каменного топора всё ещё можно отстроить дом. Но зачем, если есть средства удобнее и современнее?

Верно, но делфи изначально дохлый проект и дело не в размере программ, как многие думают.

RexTiam
30.11.2009, 01:39
Джава учиться как хз что) очень легко. За 1-2 месяца усердий и идеальный уровень.
вот на С++ и с можно попатеть хорошо..Хотя что именно ты планируешь там делать

LSD66
03.01.2010, 07:59
ТАК что начать учить? и лучше по видео урокам или книгу,или на примерах лучше-)))

Keltos
03.01.2010, 11:25
ТАК что начать учить? и лучше по видео урокам или книгу,или на примерах лучше-)))
Почитай основы программирования, потом видео, а потом уже и примеры.

ichechen
04.01.2010, 08:29
"Если кто-то говорит, что он взял гитару и играет ради музыки, а не для того, чтобы заваливать телок, то это гон, можете плюнуть ему в лицо!" Тут заменяем телок на стабильные(хоть и небольшие) деньги, а музыку на кодинг =)

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

Дикс
04.01.2010, 13:58
мой вам совет, если вы ещё только хотите погрязнуть в кодинге - подумайте хорошенько
это хоть и приносит деньги и дает какой-то скилл в плане написания интересных прог, но при этом никакой личной жизни, никаких прогулок, постоянно в голове этот чертов код и видение вещей в виде объектов с методами и свойствами.. АААА!!!

jasd
04.01.2010, 14:45
мой вам совет, если вы ещё только хотите погрязнуть в кодинге - подумайте хорошенько
это хоть и приносит деньги и дает какой-то скилл в плане написания интересных прог, но при этом никакой личной жизни, никаких прогулок, постоянно в голове этот чертов код и видение вещей в виде объектов с методами и свойствами.. АААА!!!
сколько же я видел таких постов.
и по поводу кодинга, и зароботка, и игр, и тд.
но сам не знаю мб так и есть)))

kokocuk
12.03.2010, 19:18
Что стоит изучать для написания хорошего софта для работы с веб-ресурсами (проще говоря различные чекеры, спамеры и т.п.)?

stepashka_
12.03.2010, 19:44
Что стоит изучать для написания хорошего софта для работы с веб-ресурсами (проще говоря различные чекеры, спамеры и т.п.)?
ДЕЛЬФИ & СИ

http://forum.antichat.ru/forum24.html :)

fenixelite
12.03.2010, 19:49
Что стоит изучать для написания хорошего софта для работы с веб-ресурсами (проще говоря различные чекеры, спамеры и т.п.)?
Поддерживаю stepashka_, Delphi и Cи отлично подходят под эти цели

scrat
12.03.2010, 22:03
внезапно (https://forum.antichat.ru/thread184619.html)

Tapaceuka
12.03.2010, 23:32
Поддерживаю stepashka_, Delphi и Cи отлично подходят под эти цели
базара ноль.
Но советовать новичку писать на дельфи\си это глупо на мой взгляд. Читал много что писали люди которые уже матёро долбят кнопки на клаве. И писале что вначале садились за дельфю - ноучились только самое главное (в общем ничему не научились толком). Потмо посидели за паскалём - а после ушли в дельфю и научились многому. А так туо уже на дельфе так и остался а кто и на Си ушёл.



В принципе можешь попробовать на Visual Basic пописать - он вроде полегче чуть чуть

kokocuk
13.03.2010, 00:57
Delphi - судя по отзывам с продаж софта на этом языке он не оч стабилен, особенно с потоками. Поправьте если ошибаюсь
С - знаю плохо (на уровне двумерных массивов и списков), а учить надо будет .NET (C#) я так понимаю.

Давно Perl смотрел, может его продолжить изучать в этом направлении?

fenixelite
13.03.2010, 07:09
Я тоже сначало сел за Дельфи, выучил основы, потом выучил паскаль, и теперь опять вернулся к Дельфи. И теперь довольно хорошо оба языка знаю. Щас еще начал Си++. ДУмаю учить новый язык, зная еще какой нибудь, будет0 проще .

Zyon
25.03.2010, 23:33
Спасибо. Статья класс. Я просто вот хочу начать учиться коддингу и никак не решаюсь, но щас после прочтения все-таки попробую. Я вот решил сперва учить Delphi, а там посмотрим.

Vernal Equinox
26.03.2010, 00:21
Статья хорошая,но статья делу не поможет.Нужны прямые руки и голова,без этого можно в программинг не лезть

Sanls
13.04.2010, 23:57
Мужики скажу из личного опыта, программирование начал изучать с qbasic лет 6 назад. Потом visual basic. Это еще детские шутки) После года через 3 забыл весь материал и в техникуме, когда начал проходить turbo pascal и параллельно с этим на курсах JS, это вообще ад. Сделал для себя вывод, что если в человеке нету какого-нибудь маленького начала к программированию, то ничего у него не получится. Это тоже самое, что если взять любого человека и дать ему власть, у него нету таланта управлять людьми и он не сможет держать все в своих руках, так же и здесь... Все зависит от таланта...

=VoVaN=
17.04.2010, 15:59
А какой самый простой язык?
Дайте пожалуйста ссылку на материалы какие то нужные для изучения языков.
Хотелось бы начать с чего нибудь простого

Thenno
17.04.2010, 22:48
А какой самый простой язык?
Дайте пожалуйста ссылку на материалы какие то нужные для изучения языков.
Хотелось бы начать с чего нибудь простого

Python. Достаточно простой язык, да и в хозяйстве пригодится. Материалов куча тут http://www.python.ru/. Лучше попутно смотреть книги по теории программирования. Или посмотри в сторону PHP, не прям сложно для понимания, да и востребован очень даже.

Мог бы посоветовать Pascal с Delphi, но не буду...

P.S самого просто языка нет :)

tux
17.04.2010, 23:57
Самый простой - ассемблер. Минимум команд. Привязан, правда, к конкретной архитектуре, но асм от другого асм не особо отличается. Кстати, полезно, если хочешь стать именно программистом, а не кодером. Потом си, с++, ну а дальше куда кривая выведет. :) Паскаль - язык сугубо для обучения, жестковат для практического программирования. А всякие питоны, пхп и прочие языки изучаются гораздо проще, если знаешь основы. Имхо.
Ну, а с востребованностью... так сейчас нужны как раз кодеры, а не программисты. Ибо, клиент купит все, что ему напишут в рекламе. 7-я доза как раз это подтверждает. ;) И фигня, что мы простой флаг будем кодировать 8-байтным словом - так же быстрее и бабок побольше. А клиент купит винт побольше и будет доволен. :)

=VoVaN=
18.04.2010, 16:50
Python. Достаточно простой язык, да и в хозяйстве пригодится. Материалов куча тут http://www.python.ru/. Лучше попутно смотреть книги по теории программирования. Или посмотри в сторону PHP, не прям сложно для понимания, да и востребован очень даже.

Мог бы посоветовать Pascal с Delphi, но не буду...

P.S самого просто языка нет :)

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

$now
21.04.2010, 16:27
У меня стойкое убеждение что изучать нужно в таком порядке.

Паскаль -> асм -> java -> язык на котором будем работать

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

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

Познакомится с джавой нужно ради ООП, это как очисти свой разум и смирись с ООП.

Qwazar
21.04.2010, 21:08
У меня стойкое убеждение что изучать нужно в таком порядке.

Паскаль -> асм -> java -> язык на котором будем работать

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

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

Познакомится с джавой нужно ради ООП, это как очисти свой разум и смирись с ООП. Паскаль не имеет к функциональному программированию абсолютно никакого отношения. ( http://tinyurl.com/2fcpoqo )

+ по моему за Asm имеет смысл браться только после ООП. А браться за процедурные языки (Pascal) имхо вообще особого смысла нет.

$now
22.04.2010, 01:19
Паскаль не имеет к функциональному программированию абсолютно никакого отношения. ( http://tinyurl.com/2fcpoqo )

+ по моему за Asm имеет смысл браться только после ООП. А браться за процедурные языки (Pascal) имхо вообще особого смысла нет.
Прошу прощения заговорился. Функциональный это хаскель (тоже мозг отлично тренирует кстати)

И я не согласен. Паскаль самый простой для понимания язык, на нем проще всего научится думать. Java же отпугивает новичка, хотя бы необходимостью сплясать кан-кан что бы вывести hello world, не дай бог еще в файл.

Считаю, что главная задача научится думать, а не выучить какой либо язык.

NetSter
22.04.2010, 01:48
...... главная задача научится думать, а не выучить какой либо язык.
думать как бы уже пора уметь. если взялся за программирование.

$now
22.04.2010, 11:24
думать как бы уже пора уметь. если взялся за программирование.
Я говорю об алгоритмическом мышлении.

v0l0d1ka
28.05.2010, 13:14
Кто-нибудь пробовал читать Д.Кнута "Исскуство программирования" или Н.Вирта "Алгоритмы+структуры данных=программы", Кормэна? В этих книгах те основы, без которых нет программиста.
Пробовал читать, но это читать невозможно - уперся в математику. И что, теперь начинать изучать высшую математику? Это очень долгий и изнурительный путь для изучения программирования. Врядли человек, начинающий самостоятельно изучать программирование осилит его до конца. Может есть какая- нибудь алтернатива чтению этих книг? Да и вообще кто-нибудь эти книги читает\читал?

Qwazar
28.05.2010, 13:20
Кто-нибудь пробовал читать Д.Кнута "Исскуство программирования" или Н.Вирта "Алгоритмы+структуры данных=программы", Кормэна? В этих книгах те основы, без которых нет программиста.
Пробовал читать, но это читать невозможно - уперся в математику. И что, теперь начинать изучать высшую математику? Это очень долгий и изнурительный путь для изучения программирования. Врядли человек, начинающий самостоятельно изучать программирование осилит его до конца. Может есть какая- нибудь алтернатива чтению этих книг? Да и вообще кто-нибудь эти книги читает\читал? Начни с Кормена, т.к. он проще для понимания чем Кнут, и при первом чтении пропусти целиком вторую главу (там где чистая математика), потом к ней вернёшься. Но в любом случае в итоге математику выучить придётся.

Я при первом чтении особого внимания строгим доказательствам не придавал, главное понять суть алгоритмов.

З.Ы.
Имею в виду "Алгоритмы, построение и анализ".

Vald
28.05.2010, 13:27
...... главная задача научится думать, а не выучить какой либо язык.
Ага, а еще нужно уметь учиться...

О теории и о том, что нужно уметь можно размышлять оооочень долго, так и не начав собственно что либо изучать и делать. И не нужно относиться к программированию как к чему-то очень возвышенному, сейчас это в первую очередь профессия которая приносит деньги и позволяет кормить свою семью. Так что все же главная задача выучить язык и устроиться на работу, а уже после можно о чем-то возвышенном.

Gigabajt_
28.05.2010, 18:11
какой ответ у этой задачи ?
"Имеется матрица (n*m) заполненная 1 и 0. Единицы - это острова, а нули - море. Если единицы находятся рядом по горизонтали или вертикали - то они образуют один остров. Найти количество островов."

сверится хотел