Назначение различных языков, и обшее представление о работе программиста.
Это просто ЖИЗНЕННО ВАЖНЫЙ вопрос!
Сейчас объясню.
Гдето с пол года назад заинтересовался программированием, как фактом, тоесть что-ж вообще Это есть такое.
Взяв в руки книжку по Ассемблеру, иназвав это своим хобби, начал потехоньку его изучать. Начав с перемещения и сложения байтов в памяти, продолжив извратами над программами типа "Здравствуй Мир",
остановился на консольном текстовом редакторе (правда ни сохранять, ни открывать файлы его так и не научил :) ...)
Но это помогло понять что-ж происходит с компом, если я "ткну мышкой".
Но понял и то, что Асм это и долго и сложно... но интерестно.
Попробовал Си++, посмотрел, взял в руки задачник...
И на даный момент имею несколько десятков решенных задач на подобии "Решателя Квадратных уравнений",
еше больше интереса,
совсем мало представления КУДА, ЭТА СОБСТВЕННА, Я ВЛЯПАЛСЯ ???
Просто как хобби, я пограммированию уделяю слишком много времени и сил. Как средство к сушествованию? Ну думаю лет так через пять десять я знаний подсоберу. :)
Тем Более я сейчас учусь, получаю совершенно другую профессию. (коммерческий работник ресторанного сервиса)
Еще фактор, живя в Латвии особой перспективы в профессии программиста не вижу (2 компании по созданию софта да и пара интернет порталов) хотя... все специалисты давно уже из латвии сбежали.
Второе образование не пояну из финансовых соображений. Да и не особо крутое здесь образование, а российское образование требует гораздо более сильной подготовки.
Ну вот....
А понять КУДА, ЭТА СОБСТВЕННА, Я ВЛЯПАЛСЯ Хочется.
Думаю узнав Чем собственно занимается настоящий программист полегче будет определится что делать дальше...
Обешяю!!! Кто ответит тому интернет сайт в память сделаю! :)
Когда научусь :)
Огромное спасибо за любые ответы!
Еще фактор, живя в Латвии особой перспективы в профессии программиста не вижу (2 компании по созданию софта да и пара интернет порталов) хотя... все специалисты давно уже из латвии сбежали.
А почему не заниматься фрилансингом? Интернет есть, знания есть, заказчиков можно найти будет где угодно, думаю.
http://weblancer.net/, загляни, походи.
По поводу назначения различных языков... Тут говорить можно много, но если вкратце, то:
а) языки для создания приложений под вэб - PHP, Perl, ASP, JavaScript...
б) для создания приложений под различные системы и платформы - Java, .NET (C#, VC 2003+, ...). Яву можно поставить и под виндой, и под линухом, и на маке и много где ещё она встречается. .NET большей частью под винду, начинает появляться и под другие оси. Предназначена платформа не для унифицированной разработки под разные системы, а для сопряжения кода на разных языках. Но я её условно отношу в ту же группу, что и Java.
в) языки в приложениях - VBA, схемы 1С и т.п.
г) общие языки для решения различного рода задач (включая интерфейсные и консольные) - Assembler, C/C++, Pascal/Delphi, ...
д) языки запросов - SQL...
е) языки разметки (разметка страниц, данных и пр.) - HTML, XML (сюда же стоит прибавить и спецификации XSLT, XPath)
Есть ещё множество языков, но дальше тебе лучше обратиться к википедии и гуглю. ;)
Сайт интерестный, спрос и предложение он явно отражает.
Вот и узнаю куда будущие знания и умения приложить, нет! точнее продать их(знаний и умений и труда) результат.
А то уже слышал о самостоятельном поиске клиентов, но о том как это делается ни малейшего представления.
Но на практике опробывать буду позже. Когда знаний, умений и навыка накоплю. :)
Что программирование это мое, я уже понял.
Но на практике как это все происходит я неимею ни малейшего представления.
Что чем больше знаеш языков, тем шире твои возможности - это логично.
Но вот вопрос, для чего каждый из языков применяется?
Думаю для каждого новичка важен, тем более для самоучки.(а таковых на форуме уже слышал, особенно в темах "кто, как начинал?")
...М-да пока ответ писал, на него-же уже получил ответ.
(Спасибо .nornad)
Но если кто еще что ответит, буду благодарен.
Ассемблер/C - применяется в основном для написания низкоуровневых приложений и драйверов
C/C++/Delphi/VB - для написания прикладных программ
PHP/Perl - в основном для написания приложений для веб
ну это в кратце. Может кто-то даст более полное описание.
А если кто знает какие статьйи на эту тему, кинньте ссылку!
В свое время с файлообменки слил около 6 гигов литературы (одных книг издательства O'Reilly больше сотни, правда на инглише).
Но как для новичка порекомендовать могу немногое,
по С++:
Липпман -- "C++ для начинающих" (и не смотрите так, МНЕ ПОНРАВИЛОСЬ :) );
Джесс Либерти -- "C++ за 21 день"
ну и без Страуструпа не обойтись разумеется, по крайней мере а-ля философских книг, ну например -- "Дизайн и эволюция языка С++";
по АСМу пожалуй:
Зубков -- "Assembler для DOS, Windows и UNIX";
Юров -- "Ассемблер (чего-то там.......)";
если нет возможности достать (/ещё недостал), пиши, заказывай, эти и не только книги, с радостью солью куда-то.
[COLOR="Blue"]1) Те кто пишут под Windows[/COLOR]
[COLOR="Green"]2) Те кто пишет на Open Source[/COLOR]
[COLOR="DarkOrange"]3) Веб прогеры [/COLOR]
1*-Что бы писать нормальное по под винду надо деньжата иметь (это я имею ввиду про серьезное ПО) !!! Windows самая коммерческая ось т.е за все надо платить!!!
2*-Здесь не много проше но надо будет по мучать книжки за то OpenSource !!! Все для всех!!!
3*-Здесь вообше как токовое написать приложение не возможно за исключением технологии JSP, ASP, PHP ну и конечно .NET !!! Самая функиональная на мой взглят PHP !!!
2) Тут чтобы заработать, надо не только терабайты кода писать уметь, но и получать деньгу за то, что распространяется с открытым исходником )))
3) Имхо, самое функциональное и мощное из указанного - JSP. А про "написать приложение невозможно" - эт Вы зря. Есть же и J2EE, и что-то-там-наверное-есть-в-дотнете.
ЗЫ ASP - часть .NET (с 2002 года). Если я не ошибаюсь...
По поводу заголовка: ASP и DotNET - это не языки.
[quote=dastrix]Здесь вообше как токовое написать приложение не возможно за исключением технологии JSP, ASP, PHP ну и конечно .NET !!! Самая функиональная на мой взглят PHP !!![/quote]
Немного непонятно. Поясни. Ты одновременно перечисляешь изыки и неязыки. И насчет "за исключением" - ты вроде все (кроме Perl и CGI) перечислил. Что касается "самая функциональная на мой взгляд PHP" - нну во-первых не она а он (язык), а во вторых - смотря для каких целей.
2Szahi
По ассемблеру (книги) - можешь тут посмотреть (http://forum.codenet.ru/showthread.php?t=26202)
По C++ - http://forum.codenet.ru/showthread.php?t=22178
И насчет "за исключением" - ты вроде все (кроме Perl и CGI) перечислил.
Ой далеко не все. Причем тут CGI на ряду с perl только. )
Но не об этом речь, а об "Здесь вообше как токовое написать приложение не возможно", а именно этим, имхо, и пишутся реальные "веб-приложения".
[quote=aks]Причем тут CGI[/quote]
А что CGI - это не для веб?
А что CGI - это не для веб?
Для веб, только зачем его ставить в один ряд с перечисленным языками или технологиями? Когда его впринципе можно оприменить почти ко всему вышеперечисленному )
Ну в данном случае я отношу его к написанию веб-приложений.
И вообще, чет мы тут флуд развели, не по теме.....
Ага, то-то я и гляжу наука наша процветает прямо. А художники все поголовно - нищета. Сафронов там, Глазунов. :)
Ну, не процветает. Но то, что ты разрабатываешь, можно продать ;)
>> Cафронов там, Глазунов.
А ето кто? ;)
ЗЫ Я имею в виду программерскую науку и программерское искусство :)
Ну, не процветает. Но то, что ты разрабатываешь, можно продать ;)
Д.Кнута читал? "Искусство программирования". Заметь, именно искусство, а не "наука".
>> Cафронов там, Глазунов.
А ето кто? ;)
Да так, не обращай внимание. :)
Ок :o
Какие например статьйи?
Достаточо трудно отверить, наверно чтото "практико-философское".
для обшего представления о работе программиста, о задачах программирования и т.д.
А то "живых" программистов еще не видел... :)
Заинтетесовался изначально программированием, как хобби, чтоб отвлечся от Технологии приготовления блюд, Бухгалтерии, Организации торговых залов, и Охраны труда(то, что в техникуме изучаю).
Но вдруг понял что мне это нравится.
За советы по книгам Спасибо!
Все больше и больше уверенности что без Страуструпа не обойтись.
"C++ за 21 день" - не считаю ее серьезной. (если конечно ту самую "C++ за 21 день" в магазине смотрел. Слишком много про Борланд Си Билдр а проязык не особо... )
В магазинах выбор не особо... про Вижуалы и Билдеры много а про язык не очень. Выбрал Задачник и книгу Дж. Коплиена "программирование на С++" Первую на сейчас, ну... а для второй подучится мне надо (перегрузка абстракция, шаблоны, обработка исключений и многое другое). Полистав понял полезность этой книги, тем более альтернативы ей небыло на полках.
По асме читал книгу Питера Абеля "Ассемблер и программирование для IBM-PC." Про успехи в начале темы написано.
После пол книги засыпался, асм не то что-б тяжел, но кода немеренно!
Буду наверно Страуструпа читать!
Спасибо!
Ссылка про С++ очень интерестная!
Прежде чем писать, пару дней форум изучал, но ответы не нашел.
Тем более еще сам не знал что искать... Но много чего интерестного есть на форуме!
Сюда к этим трудам думаю, еще МакКоннела можно, "Совершенный код".
Спасибо.
Составил уже список книг так, гдето из десяти.
Бду читать...
Бурное размножение современных языков программирования (которые, похоже, просто заимствуют друг у друга бессчетные нововведения) приводит к тому, что иногда бывает трудно вспомнить, какой язык вы в настоящее время используете.
Это удобное руководство предлагается для общего использования в целях помощи программистам, оказавшимся перед такой дилеммой.
ЗАДАЧА: Прострелить себе ногу.
C: Вы простреливаете себе ногу.
C++: Вы случайно создаете дюжину экземпляров объекта "вы" и всем им простреливаете ногу. Срочная медицинская помощь оказывается невозможной, так как вы не можете разобраться, где настоящие объекты, а где - те, которые только указывают на них и говорят: "А вот - я!".
Фортран: Итерактивно вы простреливаете каждый палец ноги, а когда пальцы заканчиваются, загружаете следующую ногу и продолжаете. Когда пули заканчиваются, вы все равно продолжаете попытки прострелить себе ноги, потому что не имеете возможности обработать такую особую ситуацию.
Паскаль: Транслятор не позволит вам прострелить себе ногу.
Ada: После тщательного описания пакета "нога", вы пытаетесь одновременно зарядить пистолет, нажать курок, завопить и выстрелить себе в ногу. В ходе попыток обнаруживается, однако, что вас постигла неудача, так как ваша нога оказалась неверного типа.
Кобол: Hаводите ПИСТОЛЕТ COLT 45 на HОГА.СТОПА, Затем помещаете РУКА.КИСТЬ.ПАЛЕЦ на ПИСТОЛЕТ.КРЮЧОК и HАЖИМАЕТЕ. Затем возвращаете ПИСТОЛЕТ в КОБУРУ. ПРОВЕРЬТЕ, нуждаются ли шнурки в повторном связывании.
LISP: Вы простреливаете себе отросток, который держит пистолет, с помощью которого вы простреливаете себе отросток, который держит пистолет, с помощью которого вы простреливаете себе отросток, который держит пистолет, с помощью которого вы простреливаете себе отросток, который держит пистолет, с помощью которого вы простреливаете себе отросток, который...
Форт: Hога простреливать себе вы.
Пролог: Вы сообщаете вашей программе, что вы хотите иметь простреленную ногу. Программа разрабатывает способ этого достичь, но синтаксис языка не позволяет объяснить этот способ вам.
Бейсик: Вы простреливаете себе ногу из водяного пистолета. В расширенных реализациях языка продолжайте, пока вся нижняя часть тела не промокнет.
Visual Basic: Hа самом деле вы будете только выглядеть, как будто ваша нога прострелена. Однако в процессе реализации вы получите столько удовольствия, что подобные мелочи вас не озаботят.
HyperTalk: Поместите первую пулю пистолета в ступню левой ноги вас. Сообщите результат.
Motif: Вы затрачиваете несколько дней на построение UIL - описания вашей ноги, пули, ее траектории и замысловатой резьбы по слоновой кости на рукоятке пистолета. Когда вы наконец-то управились и готовы нажать на курок, пистолет закупоривается.
APL: Вы простреливаете себе ногу, затем тратите весь день на то, чтобы представить себе, как это сделать с меньшим количеством символов.
Снобол: Если вам удастся, прострелите себе левую ногу. Если не удастся, то прострелите себе правую ногу.
Unix:
% ls
Foot.c foot.h foot.o toe.c toe.o
% rm * .o
rm: .o no such file or directory
% ls
%
Параллельный Euclid: Вы простреливаете себе чью-то чужую ногу.
Язык управления заданиями IBM/370: Вы посылаете свою ногу в управляющую информационную систему с приложением документа на 400 страниц, точно описывающего, как именно вы хотите быть простреленным. Через три года ваша нога возвращается с глубоким ожогом.
Paradox: Не только вы можете прострелить себе ногу, но и ваши пользователи.
Access: Вы пытаетесь прицелиться в вашу ногу, но в результате простреливаете все Борландовские дистрибутивные дискеты.
Revelation: Вы уверены, что сможете прострелить себе ногу, как только разберетесь, для чего служат эти маленькие хорошенькие пульки.
Ассемблер: Вы пытаетесь прострелить себе ногу, но обнаруживаете, что прежде вам придется изобрести пистолет, пулю, курок и вашу ногу.
Модула-2: После того, как вы понимаете, что фактически ничего не можете сделать на этом языке, вы простреливаете себе голову.
Половина кстати довольно глупо и не соответсвует действительности, хотя есть и веселые моменты. )
[COLOR="Blue"]1) Те кто пишут под Windows[/COLOR]
[COLOR="Green"]2) Те кто пишет на Open Source[/COLOR]
[COLOR="DarkOrange"]3) Веб прогеры [/COLOR]
1*-Что бы писать нормальное по под винду надо деньжата иметь (это я имею ввиду про серьезное ПО) !!! Windows самая коммерческая ось т.е за все надо платить!!!
2*-Здесь не много проше но надо будет по мучать книжки за то OpenSource !!! Все для всех!!!
3*-Здесь вообше как токовое написать приложение не возможно за исключением технологии JSP, ASP, PHP ну и конечно .NET !!! Самая функиональная на мой взглят PHP !!!
А что Open Source под Windows нет? :D :D
Windows не самая коммерческая ОС - есть оси намного дороже (например QNX).
Я тебя разочарую но РНР далеко не самый функциональный язык. Он уверенный середнячок.
А к какой категории в таком случае относятся программисты, которые пишут прошивки для микросхем? А те кто пишет мобильный софт? А те кто пишет для СУБД на PL/SQL?
И много серьезных языков программирования появилось в последние 5 лет? Какая фраза совершенно безосновательная. Имеет смысл читать дальше?
угу Брейнфак... :D :D :D
автору. забудьте про языки. человек, знающий ЯП - это кодер, а не программист. программист - это тот, кто умеет составить алгоритм решения некоторой задачи. на любом языке - хоть на Ruby, хоть на Cobol.
так что, если хотите быть программистом - идите получать второе образование, где вас научат всем фундаментальным наукам, нужным программисту (Теории алгоритмов, дискретка, прикладная математика и прочее).
Если же вам не хочеться копать так глубоко, рекомендую обратить внимание на т. н. пользовательские языки - Tcl/tk или Perl. Эти языки помогают ПОЛЬЗОВАТЕЛЮ решать огромный круг задач, абстрагируясь от "непользовательских" деталях (указатели, работа с памятью, ООП и прочее). Так же можно изучить VBA и SQL. это вам может помочь и на посту ресторанного управленца (оо.. сколько времени могли бы сэкономить мои манагеры, если бы умели составлять SQL запросы самостоятельно). Dixi
PS: Удачи вам :)