Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Хочу научится программированию, с чего начать? (http://forum.oszone.net/showthread.php?t=102936)

fans 16-03-2008 14:51 761607

Хочу научится программированию, с чего начать?
 
Хотелось научится программированию, раньше таких возможностей небыло, и приходилось изучать только Бейсик с чего начать?
Направление хочу выбрать программирование: обектно-инегрированные, HTML, и java. Дайте пожалуйста совет с чего начать? Чтоб не заморачиватся?

Devils0411 16-03-2008 16:42 761643

Голова не опухнет от изучения 3-х языков?
Вообщем, HTML сейчас не в моде. Лучше изучить PHP, изучив его, ты частично будешь знать язык C++ (Объектно-Ориентированное Программирование), т.к. PHP использует C++. По поводу java тяжело сказать - не увлекался (не интересно)

Busla 17-03-2008 13:45 762131

Я бы баннил таких провокаторов

PHP - строго говоря, препроцессор html - можно сказать узкоспециализированный язык вэб-программирования, поэтому традиционные программистские задачи на нём решаются очень нетрадиционными методами. Объекты там в зачаточном состоянии. Для обучения программированию строго не рекомендуется. По основному назначению (автоматизация сайтов) без знаний html - бесполезен.

html - язык разметки. Основы стоит знать в любом случае. Но серьёзная работа на нём по историческим причинам основана на использовании многочисленных трюкачеств.

java - сам по себе интересный, мощный и перспективный язык. По нему несложно найти разнообразные материалы на русском. Традиционная среда разработки Eclipse или Netbeans - может показаться довольно сложной для начинающего.

Можно так же посмотреть в сторону C# я бы сказал, что близок к яве. Не так широкораспространён, но у него удачная стандартная среда разработки и так же предостаточно материалов.

Начинать с C++ не советую - очень разноплановый язык и по нему очень много плохой литературы и плохих советов в интернете.

fans 19-03-2008 16:54 763703

Спасибо всем, только с чего начать с паскаля? или все же изучить С++,С#;? И может литературу в нете можно наити?

verdix 19-03-2008 16:56 763704

Паскаль без полезный. То же самое можно выучить, начав изучать Delphi 7

fans 19-03-2008 17:31 763736

Так все-же с чего начать? Быть или не быть?

DillerInc 20-03-2008 10:05 764132

Начинайте с ассемблера...хотя бы будете точно знать,что такое указатель :biggrin:

verdix 20-03-2008 13:26 764253

fans,
Цитата:

И может литературу в нете можно наити?
На счет литературы, определись на чем кодить хочешь. Помогу найти тебе практически любую книгу (.pdf or .djvu)

mrcnn 20-03-2008 16:50 764381

Начинают с определения круга задач, которые необходимо решить.
Затем идет математико-алгоритмическая подготовка.
Затем выбираются средства ( в т.ч язык программирования [ЯП])
И непосредственно реализация на ЯП.


Рекомендую начать с ассемблера. :D Очень мощный и стильный язык, который действительно научит программировать. Если разберетесь в нем, выплывите, то после вам уже ничего не будет страшно. Паскаль и С будут потом детской забавой.. Хватаем тютуриалы, устанавливаем и вперед решать задачи.

DillerInc 20-03-2008 17:25 764403

Цитата:

Цитата mrcnn
Рекомендую начать с ассемблера. :D Очень мощный и стильный язык, который действительно научит программировать. »

+10

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

Admiral 20-03-2008 21:16 764568

Цитата:

Цитата http://www.amd.com/gb-uk/Corporate/AboutAMD/0,,51_82_15504,00.html
Knowledge in the field of High Level Programming Language (C, C++ or Assembler) will be appreciated.

И эти всё сказано.
Ассемблеров море - столько же, сколько процессорных архитектур. Но у всех у них общие команды.
Так что дерзайте.

fans 21-03-2008 16:56 765078

Всем спасибо. Выбрал ассаблер как скачать и найти учебники?

Admiral 21-03-2008 17:10 765086

Для начала ознакомьтесь со своим выбором через прочтение статей на страницах сайта
http://wasm.ru/
А из печатной литературы рекомендую книгу Юрова по Ассемблеру.

_Aspire_ 21-03-2008 20:18 765191

Советую http://www.kalashnikoff.ru/, там и книга хорошая, и на сайте есть все что нужно.

unikum111 30-03-2008 16:31 770969

А можно ли научиться программированию, если никогда с этим в жизни не сталкивался (за исключением несложных скриптов на AutoIT и скриптов Inno Setup)? Какими знаниями нужно обладать? Основной задачей стоит создание компьютерных психологических тестов (как опросников, так и проективных методик со стимульным материалом).

Coutty 30-03-2008 21:54 771151

unikum111, можно ли научиться говорить, если от рождения этого не умеешь?
Есть ещё миф, что нельзя написать BIOS. Но если это так, то откуда он взялся?
Для опросников/тестов хорошо подходят Flash, JavaScript, PHP. Как платформонезависимые и доступные из любой точки, где есть веб.

Предварительные знания не обязательны (как я думаю). При обучении любому языку разьясняются базовые принципы алгоритмизации.

Насчёт "проективных методик со стимульным материалом" не скажу - не понял, что это такое =^_^'=

fans 08-04-2008 22:26 777747

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

Diseased Head 08-04-2008 22:41 777760

Цитата:

Цитата Busla
Начинать с C++ не советую - очень разноплановый язык и по нему очень много плохой литературы и плохих советов в интернете. »

А я советую... Потому как если вы этого не поймёте то значит лучше вам в программеры и не подаватся. Значит у вас руки не под то заточены...
mrcnn, +1. Подтверждаю. Поймёш assembler (asm) тогда есть смысл продолжать.
Главное книги нормальные надыбать и работать, работать и ещё раз работать...

Хотя это всё также зависит от того зачем автору уметь програмировать... Может ему и правдо PHP хватит.

Цитата:

Цитата Coutty
Есть ещё миф, что нельзя написать BIOS. Но если это так, то откуда он взялся? »

Он пишется теми кто знает "буквы".

Aliev 03-05-2008 15:58 793869

Прошу прощения, я по Делфи (может и не сильно в тему, но там нигде не нашел) чем проверить правописание в делфи? можно ли этим? http://www.softsoft.ru/development/delphi/11623.htm не шибко дорого? или есть едшевле? где?

soles2006 17-07-2008 19:00 854461

Aspire на http://www.kalashnikoff.ru/ не заходит.

Alex Cop 18-07-2008 08:43 855015

А почему бы не начать с WSH javascript? Преимущества: не требуется установка никаких программ, полезен для автоматизации задач в Винде, потом можно к нему прикрутить ХТМЛ-морду, изучение ознакомит с си-подобными языками?

против ассемблера, как начинавший с него 20 лет назад, скажу, что он резко затормозит объектно-ориентированное мышление, поставив процедурный подход во главе всего, и потом будет трудно переучиться (у меня в своё время ушло много сил на переход от процедурного мышления к объектному, и до сих пор тяжело, жалею, что когда ООП только появлялось я на него махнул рукой, дескать, зачем эти все классы, если процедуры и функции могут всё? Теперь вижу, насколько заблуждался.) Это сугубо мой личный опыт, просто делюсь, у кого-то может быть было всё прямо наоборот. В + к ассемблеру: будет потом легко программировать микроконтроллеры (это такие штучки, которые управляют современной бытовой техникой, типа стиральных машин, и не только).

mrcnn 18-07-2008 09:53 855067

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

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

С чего начать изучать программирование?
Нужно начинать не с какого-либо языка.
Нужно начать с теоретической подготовки, которая включает два этапа:
1. умение выделять алгоритмы
2. знание теоретических структур данных
3. знание, как работает компоненты компьютера на низком уровне
Высший пилотаж, если это знание уже есть, когда изучается ЯП. Иначе понимание на профессиональном уровне ЯП будет сильно затруднено. Чтение книг Строустропа или Липпмана по С++ "для начинающих" лучше и не начинать, если нет хорошей теоретической подготовки по структурам данным. Кернигана и Ричи тоже лучше читать, имея хорошую подготовку.

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

Admiral 18-07-2008 13:16 855267

Согласен с mrcnn, что прежде необходимо подтянуть аналитический аппарат, а уже потом браться за инструменты.
Насчёт ООП, то Линус Торвальдс даже сказал что оно менее значимое для программирования нежели Визуал Бейсик
Цитата:

Цитата Linus about Visual Basic
“…For example, I personally believe that „Visual Basic” did more for programming than „Object-Oriented Languages” >>

Его высказывание, как я думаю, имело ввиду, что Визуал Бейсик больше людей заинтересовал заниматься программированиям, нежели ООП.
А сразу на С++ вообще не стоит учится программировать, ведь недаром до сих пор в учебных заведениях обучают на Паскале, С... Это хорошо структурированные языки, в которых каждая строка кода имеет единственное точно определенное значение. С опытом когда будут видны недостатки этих языков при написании больших программ можно будет подумать и о переходе на тот же С++.
Ещё, возможно при очень большом желании и терпении, стоит рассмотреть Ассемблер. Знаю что это не очень популярно, но исторически он был раньше языков высокого уровня, так что начинающий программист пройдёт путь эволюции в программировании, лишь бы знакомство не отбило желание идти дальше.

mrcnn 18-07-2008 17:54 855646

Я сегодня решил заняться ассемблером. Начал читать книгу "The art of assembly"(на англ.). Пока правда голая теория, в т.ч. касающаяся булевой алгебры, и ее использования в создании электронных цепей. Оказывается, сложение реализуется булевыми операциями.

Alex Cop 18-07-2008 19:38 855723

Эдак вы далеко зайдёте. Ещё скажите, что для того, чтобы сделать программу для тестов (аля окошко, и ГУИ-интерфейс) нужно изучить структурное программирование, а до него - ассемблер, а до ассемблера пройти курс дискретной математики, который трудно понять без курса "линейки". у кого на это всё хватит терпения?и это при том, что при переходе с ассемблера к структурному нужно отучиться от "GOTO", а при переходе от структурного к ООП начисто переломать программистское мышление:

Насчёт необходимости ООП. Да, с т.зрения скриптописания на БАШе всё очень красиво, а на практике, современная среда под виндоус (типа Билдера) НАВЯЗЫВАЕТ ООП (или же мы навеки привязыны к консольным программам). И любой проект средней и высокой сложности перестаёт быть управляемым без ООП (или же требуется гений программиста).

поэтому возможен и такой путь: параллельное изучение алгоритмов (блок-схемы, те, что прямоугольники да ромбики), и ПАРАЛЛЕЛЬНОЕ изучение классов, диаграмм, свойств, учиться выделять классы в поставленной задаче.

mrcnn 18-07-2008 20:37 855754

Цитата:

современная среда под виндоус НАВЯЗЫВАЕТ ООП
Цитата:

любой проект средней и высокой сложности перестаёт быть управляемым без ООП (или же требуется гений программиста).
Как это навязывает, если сама винда почти полностью написана на чистом си без всяких классов? Проект операционной системы это проект высокой сложности. И винду же написали без ООП!

Coutty 18-07-2008 21:04 855763

Цитата:

Цитата mrcnn
Как это навязывает, если сама винда почти полностью написана на чистом си без всяких классов? »

Я слышал мнение, что она на Бейсике написана. Т.ч. тут спорно всё...

Котяра 18-07-2008 21:21 855769

Цитата:

Цитата fans
Хотелось научится программированию, раньше таких возможностей небыло, и приходилось изучать только Бейсик с чего начать?
Направление хочу выбрать программирование: обектно-инегрированные, HTML, и java. Дайте пожалуйста совет с чего начать? Чтоб не заморачиватся? »

Советую начать с BAT-файлов :)
Между прочим, это серьезный инструмент автоматизации задач.
Потом можно заняться сценариями или языком AutoIt.

Admiral 19-07-2008 00:42 855901

Alex Cop, не обязательно на чистом ассемблере писать. Можно например использовать ассемблерные вставки в языках высокого уровня. По задачи народ подбирает инструмент, а soles2006 хочет учится, собирает свой арсенал и богатство знаний, к производству он не привязан, так что может себе позволить такое изучение.
Coutty, да это шутка такая была, мол Билл Гейтс написал свой Бейсик так и ОС на нём написал. А вот когда пару лет назад исходники NT4.0/2000 своровали, то Микрософт признала что кардинально на них ничего не построишь. И там кстати был С.

Между прочим первые версии Unix писались на Ассемблере, а после, когда тогдашние компы апгрейднулись, были перенесены на С.
А так у Ассемблера самые стабильные позиции: процессоры, если нВидиа не задавит, будут использоваться на любых платформах, даже если нВидиа и предложит свою альтернативу безпроцессорной системы, то для видюх тоже найдётся свой ассемблер.
Чего не скажешь про платформонезависимые языки (.NET, Java), у которых полная зависимость от своих изготовителей и проталкивателей на рынке.

Alex Cop 19-07-2008 03:44 855983

Цитата:

Цитата mrcnn
Как это навязывает, если сама винда почти полностью написана на чистом си без всяких классов? Проект операционной системы это проект высокой сложности. И винду же написали без ООП! »

имелось в виду среда разработки, приведите пример инструментального средства написания программы, на выходе которого появляется стандартная программа с GUI-интерфейсом БЕЗ использования ООП.

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

Цитата:

Цитата mrcnn
Как это навязывает, если сама винда почти полностью написана на чистом си без всяких классов? Проект операционной системы это проект высокой сложности. И винду же написали без ООП! »

как я сказал, есть и исключения.

mrcnn 19-07-2008 10:06 856062

Цитата:

имелось в виду среда разработки, приведите пример инструментального средства написания программы, на выходе которого появляется стандартная программа с GUI-интерфейсом БЕЗ использования ООП.
В винде стандартный блокнот (инструментальное средство для написания) + командная строка и команды cl и link(средства компиляции после которого появляется программа с GUI интерфесом. Подозреваю, что и cl и link а так же ранние visual studio были, как и сама винда, написаны на чистом си без ООП.
В юниксе достаточно только командной строки configure, make а редактирование либо vi, либо ee. Которые написаны на си.

aminiy 25-07-2008 16:17 860964

Я думаю так

Для Web
PHP, JAVA, SQL
А еше можно изучить Action Scrip и делать Флешки. Попутно изучить Flex и делать очень хорошие и дорогие сайты.

Для бизнес приложений

Языки C#, Delphi, C++ Bilder. СУБД Firebird, Oracle

И еше как мне кажется перспективные язык Pyton, Ruby

Цитата:

Цитата mrcnn
реда разработки, приведите пример инструментального средства написания программы »

Мультиплатформенный CodeBlocs + wxWingets, для скорости и удобства Turbo продукты Code Gear Turbo Delphi, Turbo C++.

Dmitrijan 20-04-2009 00:07 1098553

Я бы порекомендовал начать изучение с Delphi.
Главные условия:
1)Собственное желание.
2)Исключить лень. Заниматься хотябы понемногу, но каждый день
(дабы не забывать пройденный материал).

Обязательные условия:
1)Наличие самого компилятора.(т.е Delphi).
2)Наличие литературы(в нэте навалом).
3)Уметь логически мыслить.

Желательные условия:
1)Знать математику (на уровне старших классов школы).
2)Знать англ.язык.(так как все команды там на английском).

Так вот, придумал простенькую програмку и пробуй воплотить её в реальность.
Сперва простенькие подольше посоздавай типа 2+2(чтоб принцип понять), книги тебе в этом хорошо помогут.А там дальше и сам не заметишь, как усложнять себе задачи станешь.
И если что-то не получается, в нете есть много форумов по Делфи
(погугли их очень много), в них добрые люди тебе обязательно помогут и подскажут.
Вот и все! Желаю успешного погружения в мир Делфи!

EvgeniuXP 14-07-2009 00:24 1166908

Это зависит от характера человека, если упорный - то Бейсик - Си (основы ассемблера) - Си++ - Visual Basic - Visual C++ - C# = WPF. Если это знать будешь, то такие как Делфи, Джава, PHP и любой другой язык - щелкнешь как семечку, даже в основы вникать не нужно будет - так как это одинаково, и ничего нового в них нет. А в начале нужно научиться делать ХОРОШИЕ АЛГОРИТМЫ - так что советую взять книжку Паронджарова "Как улучшить работу ума" - очень захватывающе расписано и в голове не будет хаоса, а будут четкие алгоритмы, заодно научишься рисовать правильные Схемы алгоритмов, жаль что в высших учебных заведениях эту практику не ведут, а наоборот создают "интеллектуальный терроризм" :) В качестве обучения можешь сделать свой редактор икон, один уже создан (т.е. схемы не нужно вырисовывать, а только добавлять иконы, а остальная часть схемы рисуется автоматически, можно даже собрать программу по иконам). По крайней мере это будет прочная опора для дальнейшего развития :)

P.S. С Си++ легко можно перелезть и на 1С 7.7-8.0-8.1-8.2 - кстати, тоже очень интересные есть задумки, а там глядишь и с базой данных научишься работать - делать запросы :) Далее, только сети... административные скрипты, различые батники и т.д., т.п. Можно много еще написать - только а нужно ли это Вам?

Ne1m 14-07-2009 02:02 1166955

Одуревшие люди на ассемблер человека садите)) ему как минимум чтобы понять этот набор букв надо знать системную архитектуру)) Да фи конечно все легко когда знаешь, что попало говорите, если все же не хотите блин разберитесь что такое микропроцессор хотя бы =) Я уверен тут сидят 70% демагогов =) Вообще юзайте html =) если станет интересно то шуруйте сразу на C, только на задачки школьного уровня для начала)) ассемблер без подготовки - взрыв головы, да и с подготовкой не легко +) Блин люди в институтах годами учат этот ассемблер)) а вы ему сразу а давай учи ))) убейся)))

EvgeniuXP 14-07-2009 20:59 1167722

Цитата:

Цитата Ne1m
Блин люди в институтах годами учат этот ассемблер)) а вы ему сразу а давай учи ))) убейся))) »

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

SELECT1 15-07-2009 12:26 1168161

Для начала можно выбрать кроссплатформенный компилятор PureBasic http://purebasic.info/
Это очень простой язык программирования, но в тоже время довольно мощный.

DaRiYs 30-07-2009 03:01 1181174

Посоветуйте с чего начать
 
Посоветуйте пожалуйста по каким книгам желательно начать учить програмирование на Visual C++ и Ассемблере человеку который имел опыт програмирования в Borland C++ 3.11 и в Borland C++ Builder`e?? Посоветуйте книги по которым сами учились, желательно такие книги, которые расчитаны на обучение с нуля, но сам С++ я знаю. Мне важно научится писать в Визуале и с нуля выучит Ассемблер.

Delirium 30-07-2009 03:06 1181177

Именно C++, или C#? Я тоже начинал с BC 3.11, потом легко перешел на C#.

Drongo 30-07-2009 12:18 1181388

С чего начать изучения Ассемблера?

Результат

DaRiYs 30-07-2009 13:42 1181484

Цитата:

Цитата Delirium
Именно C++, или C#? »

В принципе C#, только тада нада сначала выучить сам язык а потом Визуал. ТАк что посоветуете для начинающего в Визуале и АСМ? Только желательно те книги по которым сами учились, потому как в Сети книг кучя но хороших не так уже и много, где все толково описано..

DaRiYs 01-08-2009 20:12 1183214

Мне хоть хтото ответит?

Admiral 01-08-2009 22:46 1183300

DaRiYs для С# одним из лучших считается западный писатель - Эндрю Троелсен (Andrew Troelsen) и его книги из серии "C# и платформа .NET". Автор переиздавал книги буквально к каждой версии (от 1.0 до 3.5) Полное название последней - Язык программирования С# 2008 и платформа .NET 3.5 Framework (Pro C# 2008 and the .NET 3.5 Platform)
Книга порадовал тем, что сразу рассказывается про сам язык, а не про среду и про работу с формочками и визуальными элементами.
На форуме так же встречается рекомендация книги отечественного писателя Павла Агурова - [b]C#. Сборник рецептов[b]
Цитата:

Цитата Delirium
Огромное спасибо Павлу Агурову и его книге "C# Сборник рецептов" за простые и понятные коды. Кстати, очень рекомендую. >>

С этой книгой я не так знаком, как с первой, так что ничего сказать не могу.
Хотелось бы отметить книги ещё одного западного писателя - Чарльза Петцольды по C#, особенно Программирование для Microsoft Windows на С#. В 2-х томах (Programming Microsoft Windows with C#) Именно эту книгу я не читал, но я читал её переведённый на Visual Basic .NET самим автором вариант - Программирование для Microsoft Windows на Microsoft Visual Basic .NET. в 2-х томах (Programming Microsoft Windows with Microsoft Visual Basic .NET) и остался очень довольным качеством подачи материала. Кому интересен VB.NET очень её рекомендую, хоть там и для .NET1.X. C# версию книги автор переиздал с учётом .NET2.0 и теперь она называется - Программирование с использованием Microsoft Windows Forms (Programming Microsoft Windows Forms)

DaRiYs 02-08-2009 03:04 1183397

Большое спасибо. А что посоветуете начинаущему по поводу Ассемблера?

Delirium 03-08-2009 01:26 1183950

Цитата:

Цитата DaRiYs
А что посоветуете начинаущему по поводу Ассемблера? »

http://lib.ru/CTOTOR/IBMPC/abel.txt

rivera 06-05-2011 12:41 1671220

какой язык выбрать?
 
Всем привет.
Никогда не занимался программированием, хочу начать.
Какой язык выбрать? какой где используется?
у какого языка обозримая перспектива лучше?
а то, я совсем потерялся в этих С шках, jXXX шках, .net ах и прочих АСП ах.

спасибо

(кстати, пишу на T-sql от майкрософт)

Любезный 06-05-2011 17:12 1671378

Вопрос непростой.

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

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

Вот, кстати, тема Вам для изучения.
http://forum.oszone.net/thread-102936.html

Coutty 06-05-2011 18:51 1671427

Цитата:

Цитата Любезный
Многие опытные программисты знают много разных языков программирования, но это в основном за счёт их опыта »

Скорее из-за того, что язык программирования в программировании не всегда играет первую роль. Обычно главным является алгоритм. Зная один язык, нетрудно будет переложить алгоритм и на другой. Интернет и документация в этом очень помогают. Да и многие современные языки весьма похожи друг на друга.
Каша в голове может появиться, если пытаться запомнить функции нескольких языков сразу. Если же справочником пользоваться, то запутаться сложно. Хотя я не пробовал учить сразу несколько. Вот от японского параллельно с каким-нибудь JavaScript'ом вполне может :)

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

rivera, начинайте с любого. Через какое-то время самостоятельно поймёте что вам нужно, а что нет.

PhilB 06-05-2011 19:30 1671454

От себя могу добавить, что лучше начать изучение с чего-нибудь не слишком высоуровнего и начать с чего-нибудь, что требует от программиста понимания, что как работает.
Думаю хорошим вариантом будет начать с си (он посложнее и применяется на практике) или паскаля (он попроще и изначально как раз для обучения и проектировался). Желательно сначала писать консольные приложения. Знание основ - первично.
На всякие технологии (типа .net) поначалу лучше забить, ибо
1. их много и в каждой прикладной области нужна своя,
2. «цель расчетов – не числа, а понимание». (Ричард Хемминг). Переводя на тему программирования - если вы будете понимать, что как работает, вы технологии освоите без труда. Знание же технологий не самодостаточно.
Знание технологий без основ может "покорежить" ваше восприятие мира...
P.S. Настоятельно рекомендую НЕ начинать с Java и подобных языков.

Любезный 07-05-2011 10:58 1671757

Цитата:

Если же справочником пользоваться, то запутаться сложно.
Справочник тут не при чём. Очень сложно приспособиться к манере написания кода другого языка. Например, человеку, начавшему на Паскале, при изучении С и его "родственников" трудно привыкнуть к регистрочувствительности этих языков, а также к сложностям поиска ошибок в С и С++, "пропущенных" компилятором.

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

Beyound 07-05-2011 22:57 1672167

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

rivera 10-05-2011 09:11 1673525

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

насчет "С". их там целая орда: C#, C++, C Sharp еще какие-то
или это все разветвления, или я что-то путаю.

ferget 10-05-2011 09:40 1673540

# = sharp к слову

Любезный 10-05-2011 11:53 1673603

Про С - вначале появился язык С, который произошёл из старых языков А и В. Через несколько лет появился С++. Затем на базе этих языков придумали сначала Java, а затем Microsoft вынужден был разработать C# (там была интересная и долгая история). Примерно в одно время с C# (хотя могу и приврать) появился PHP. Вроде пока достаточно, хотя мог что-то пропустить.

rivera 10-05-2011 12:41 1673624

ну так у какого "С" азы? с чего копать?

Любезный
C# и PHP как нить связаны друг с другом? конкуренты, дополняют или какие у них отношения?

Любезный 10-05-2011 14:20 1673674

Азы, конечно, у простого С.

Я просто лишь хотел подчеркнуть, что синтаксис РНР отчасти происходит от С. Или я неправ?

ferget 10-05-2011 14:42 1673691

Цитата:

Цитата rivera
C# и PHP как нить связаны друг с другом? конкуренты, дополняют или какие у них отношения? »

никак не связаны

слегка конкурируют

Любезный 10-05-2011 15:02 1673713

Попробую расписать поподробнее.

а) Языки С и С++ являются относительно низкоуровневыми. Их компиляторы генерируют машинный код для исполнения процессором. Программы на них в целом работают довольно быстро, однако сильно подвержены ошибкам, так как включают в себя большой объём работы с памятью. Кроме того, хотя эти языки кроссплатформенные, объём переделки программы с одной платформы на другую очень велик, так как языки не учитывают особенности аппаратной платформы и операционной системы.
б) Языки Java и C# генерируют код для выполнения на так называемых виртуальных машинах. Виртуальная машина - это своего рода "прослойка" между комплексом "процессор-операционная система" и кодом, сгенерированным компиляторами этих языков. Виртуальные машины как правило учитывают особенности платформ, поэтому перенос программ между платформами заметно легче, чем в С или С++. Но эта виртуальная машина сильно отъедает ресурсы у процессора, поэтому программы работают медленно.
в) Язык РНР специально предназначен для Web-разработки. На этом языке пишутся программы, которые, будучи установленными на веб-сервере, принимают данные из браузеров клиентских компьютеров и, обрабатывая эти данные, генерируют HTML-код, возвращаемый в браузер. Надо сказать, что такие вещи можно делать не только на РНР, однако сейчас этот язык можно назвать ведущим средством для этой задачи.

Любезный 10-05-2011 15:38 1673742

Отдельно скажу про Паскаль. Это очень простой язык, который в чём-то похож на простую последовательность математических выражений. За счёт этого код этого языка очень легко читать. Однако он слабовато учитывает особенности процессора и платформ, поэтому машинный код, сгенерированный компилятором этого языка, получается несколько более громоздким, чем на С или С++. Тем не менее, этот язык тоже кроссплатформенный. Существует достаточно компиляторов Паскаля под разные операционные системы. Самые известные - это Borland Turbo Pascal (работает под MS-DOS) и Free Pascal (версии этого компилятора существуют под разные платформы, в т.ч. Linux).

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

Для языка С++ есть две среды разработки: Microsoft Visual C++ и Borland C++ Builder. Это среды разработки программ только под Windows. Первая среда имеет массу преимуществ, так как её компоненты входят в состав ОС Windows. В отличие от MS, Borland использует собственные библиотеки VCL и RTL, за счёт чего размер программы после компиляции получается довольно большим.

Что касается Java - под этот язык средств разработки очень много, однако я не хотел бы давать им характеристики, так как сам на этом языке пока не программирую. Упомяну пока лишь кроссплатформенную среду Eclipse. Кстати, сам язык Java очень полезно знать, если вы хотите разрабатывать приложения для ныне популярных операционных систем Android и iOS.

Для языка С# основной средой разработки является, разумеется, Microsoft Visual C#. Я воздержусь от характеристик этой среды по той же причине.

Для Паскаля есть две основных среды разработки. Первая из них - всем известная Delphi. Данная среда позволяет генерировать программы пока только под Windows, причём только под 32-разрядный. Работа над созданием среды и компилятора под 64бит ещё не завершена. Delphi сама по себе очень функциональна и позволяет довольно быстро строить в первую очередь бизнес-приложения и приложения для работы с базами данных.

Однако в последнее время интенсивно развивается бесплатный конкурент Delphi - среда разработки Lazarus. Эта среда основана на компиляторе FreePascal и является кроссплатформенной, т.е. позволяет создавать текстовые и графические приложения под Windows (32, 64), Linux и даже для MacOS. В отличие от MS Visual C#, эту среду можно установить на машину с Linux и генерировать на ней программы под все эти платформы. Мало того, существует даже технология по написанию в Lazarus приложений для Android. Правда эта технология пока слабовата, однако её развитие идёт полным ходом с развитием самой ОС Android, основанной, как известно, на Java.

Правда, у связки Lazarus+Free Pascal есть один недостаток - это сложность работы со строками. Проблема в том, что основной кодировкой, принятой в Lazarus, является UTF-8. Особенность этой кодировки - в том, что каждый символ может занимать от одного до четырёх байт. В тексте с такой кодировкой очень сложно программно подсчитать, например, длину строки в символах. В отличие от Lazarus, в современных версиях Delphi используется кодировка UTF-16 с двухбайтовым размером всех символов. Эта кодировка применяется в Windows по умолчанию и имеет недостаток - в ней представлены не все мировые символы.

PhilB 11-05-2011 18:21 1674464

1.
Цитата:

Цитата Любезный
Для языка С++ есть две среды разработки: Microsoft Visual C++ и Borland C++ Builder »

Не согласен в корне! Сред не менее десятка, причем те, что вы привели, не лучшие (имхо) и существуют только под windows. На мой взгляд лучше Eclipse (для консольных прог), Qt Creator (для сложных вещей с интерфейсом или без).

2. Не надо путать
среду разработки http://ru.wikipedia.org/wiki/Интегри...еда_разработки
и фреймворк http://ru.wikipedia.org/wiki/Фреймворк
Среда не содержит в общем случае средств создания интерфеса, она просто для удобства (представление о котором у разных людей различно). Вышеупомянутые 2 среды для с++ имеют поддержку нативных фрейворков.

3. Еще раз повторю, что главное - понимание. Желательно хотя бы раз откомпилировать программу в консоли, чтобы понимать что к чему.
И поначалу настоятельно рекомендую не затачиваться под фреймворки. Перейти на другой будет крайне сложно психологически, а универсальных нет.
Не зря же в политехе учат вычислять производные и чертить от руки, хотя есть maxima и Компас.
И вообще лучше учиться программировать в linux (имхо).

Любезный 11-05-2011 19:34 1674515

Цитата:

Не согласен в корне! Сред не менее десятка, причем те, что вы привели, не лучшие (имхо) и существуют только под windows. На мой взгляд лучше Eclipse (для консольных прог), Qt Creator (для сложных вещей с интерфейсом или без).
Спасибо за поправки. Я просто никогда не имел дел с кроссплатформенными средами для С/С++ и назвал два самых известных некроссплатформенных продукта.

Цитата:

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

Звонок в техподдержку интернет-провайдера. Голос девочки, лет 6-7.
Д: Помогите настроить интернет.
О: А есть ли рядом кто-то постарше?
Д: Есть родители, но они в компьютерах не разбираются.
О: Ну ладно. Жми "Пуск - Панель управления"
Д: Э... Не то. Мне под фряху надо.

PhilB 13-05-2011 17:14 1675737

Цитата:

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

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

Насчет сложности линукса - заублуждение. Сложность исключительно в костности мышления. В привычках, которые привил windows. Сам по себе он проще!!! Психологические барьеры мешают...
Поэтому я и говорю - не привязывайтесь к конкретным продуктам, вникайте в суть.
Если займетесь программированием всерьез, то с linux столкнетесь наверняка.

Рекомендую к чтению всем начинающим программистам.
http://ru.wikipedia.org/wiki/Философия_UNIX

Один из принципов unix-way KISS - "Храни это простым, глупец". Поэтому программирование под linux мне видится проще.
Писать программы с использованием winAPI для меня почти пытка. Ибо там кучи функций с кучами параметров.

Приведу яркий пример.
Для создания процесса в unix требуется 2 системных вызова fork, а за ним exec. Первый не имеет параметров, второй имеет 3 параметра. Для создания процесса в windows требуется вызов одной функции CreateProcess c 10 параметрами, один из которых указатель на структуры с 18 параметрами.
Так что сложно?

Любезный 13-05-2011 21:34 1675884

Цитата:

Насчет сложности линукса - заублуждение. Сложность исключительно в костности мышления. В привычках, которые привил windows.
Не совсем согласен. Интерес появляется в первую очередь тогда, когда всё получается. Роль ОС здесь в манерах работы. Для меня DOS, с которого я начинал, был очень прост, а он никак не прививал привычек Windows. Но так как я привык к DOS, позже общаться с Linux мне было посложнее.

Ладно, не буду разводить здесь флеймоопасный оффтопик.


Время: 11:00.

Время: 11:00.
© OSzone.net 2001-