Показать полную графическую версию : Хочу научится программированию, с чего начать?
Именно C++, или C#? »
В принципе C#, только тада нада сначала выучить сам язык а потом Визуал. ТАк что посоветуете для начинающего в Визуале и АСМ? Только желательно те книги по которым сами учились, потому как в Сети книг кучя но хороших не так уже и много, где все толково описано..
DaRiYs для С# одним из лучших считается западный писатель - Эндрю Троелсен (Andrew Troelsen) и его книги из серии "C# и платформа .NET". Автор переиздавал книги буквально к каждой версии (от 1.0 до 3.5) Полное название последней - Язык программирования С# 2008 и платформа .NET 3.5 Framework (Pro C# 2008 and the .NET 3.5 Platform)
Книга порадовал тем, что сразу рассказывается про сам язык, а не про среду и про работу с формочками и визуальными элементами.
На форуме так же встречается рекомендация книги отечественного писателя Павла Агурова - C#. Сборник рецептов[b] Огромное спасибо Павлу Агурову и его книге "C# Сборник рецептов" за простые и понятные коды. Кстати, очень рекомендую. >> (http://forum.oszone.net/post-969584.html#post969584)
С этой книгой я не так знаком, как с первой, так что ничего сказать не могу.
Хотелось бы отметить книги ещё одного западного писателя - Чарльза Петцольды (http://charlespetzold.com/) по C#, особенно [b]Программирование для 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)
Большое спасибо. А что посоветуете начинаущему по поводу Ассемблера?
Delirium
03-08-2009, 01:26
А что посоветуете начинаущему по поводу Ассемблера? »
http://lib.ru/CTOTOR/IBMPC/abel.txt
Всем привет.
Никогда не занимался программированием, хочу начать.
Какой язык выбрать? какой где используется?
у какого языка обозримая перспектива лучше?
а то, я совсем потерялся в этих С шках, jXXX шках, .net ах и прочих АСП ах.
спасибо
(кстати, пишу на T-sql от майкрософт)
Любезный
06-05-2011, 17:12
Вопрос непростой.
Во-первых, программист - это очень разнообразная профессия. Программы требуется писать не только для компьютеров, но и для самых разных устройств - телефонов, планшетов, микроконтроллеров и др. В первую очередь определитесь, для каких устройств вы планируете писать программы. Если вы планируете учиться писать программы только для компьютеров, Вам не помешало бы также определиться, какого рода программы вы хотите писать: офисное ПО, игры, работа с базами данных, ПО для серверов и др. Именно от этого зависит, какие языки лучше учить.
Многие опытные программисты знают много разных языков программирования, но это в основном за счёт их опыта, ибо познать несколько языков одновременно весьма трудно, так как в этом случае в голове получается каша.
Вот, кстати, тема Вам для изучения.
http://forum.oszone.net/thread-102936.html
Многие опытные программисты знают много разных языков программирования, но это в основном за счёт их опыта »
Скорее из-за того, что язык программирования в программировании не всегда играет первую роль. Обычно главным является алгоритм. Зная один язык, нетрудно будет переложить алгоритм и на другой. Интернет и документация в этом очень помогают. Да и многие современные языки весьма похожи друг на друга.
Каша в голове может появиться, если пытаться запомнить функции нескольких языков сразу. Если же справочником пользоваться, то запутаться сложно. Хотя я не пробовал учить сразу несколько. Вот от японского параллельно с каким-нибудь JavaScript'ом вполне может :)
В любом случае, лучше хорошо знать один язык, чем посредственно десяток :)
rivera, начинайте с любого. Через какое-то время самостоятельно поймёте что вам нужно, а что нет.
От себя могу добавить, что лучше начать изучение с чего-нибудь не слишком высоуровнего и начать с чего-нибудь, что требует от программиста понимания, что как работает.
Думаю хорошим вариантом будет начать с си (он посложнее и применяется на практике) или паскаля (он попроще и изначально как раз для обучения и проектировался). Желательно сначала писать консольные приложения. Знание основ - первично.
На всякие технологии (типа .net) поначалу лучше забить, ибо
1. их много и в каждой прикладной области нужна своя,
2. «цель расчетов – не числа, а понимание». (Ричард Хемминг). Переводя на тему программирования - если вы будете понимать, что как работает, вы технологии освоите без труда. Знание же технологий не самодостаточно.
Знание технологий без основ может "покорежить" ваше восприятие мира...
P.S. Настоятельно рекомендую НЕ начинать с Java и подобных языков.
Любезный
07-05-2011, 10:58
Если же справочником пользоваться, то запутаться сложно.
Справочник тут не при чём. Очень сложно приспособиться к манере написания кода другого языка. Например, человеку, начавшему на Паскале, при изучении С и его "родственников" трудно привыкнуть к регистрочувствительности этих языков, а также к сложностям поиска ошибок в С и С++, "пропущенных" компилятором.
Про алгоритмы - полностью согласен, их изучить нужно в первую очередь.
можно попробовать начать писать на mathlab . Шикарная среда со своим языком, который удивительно неприхотлив, не требует строгого определения типов, порядка расположения кусков кода. Уникально прост в отладке. Мощнейшие способности для решения, не побоюсь этого слова, любых инженерных, и не только, задач. Встроенная развитая система хелпа. Начинать лучше с учебником. А если без него, то можно сначала графики функций строить, применять на практике формулы матана, потом перейти на диффуры и считай язык покорен ))
Beyound, думаю, учитывая его узконаправленность, тяжело будет с ним по жизни: не на любой работе он нужен будет, и все вытекающие отсюда результаты.
насчет "С". их там целая орда: C#, C++, C Sharp еще какие-то
или это все разветвления, или я что-то путаю.
Любезный
10-05-2011, 11:53
Про С - вначале появился язык С, который произошёл из старых языков А и В. Через несколько лет появился С++. Затем на базе этих языков придумали сначала Java, а затем Microsoft вынужден был разработать C# (там была интересная и долгая история). Примерно в одно время с C# (хотя могу и приврать) появился PHP. Вроде пока достаточно, хотя мог что-то пропустить.
ну так у какого "С" азы? с чего копать?
Любезный
C# и PHP как нить связаны друг с другом? конкуренты, дополняют или какие у них отношения?
Любезный
10-05-2011, 14:20
Азы, конечно, у простого С.
Я просто лишь хотел подчеркнуть, что синтаксис РНР отчасти происходит от С. Или я неправ?
C# и PHP как нить связаны друг с другом? конкуренты, дополняют или какие у них отношения? »
никак не связаны
слегка конкурируют
Любезный
10-05-2011, 15:02
Попробую расписать поподробнее.
а) Языки С и С++ являются относительно низкоуровневыми. Их компиляторы генерируют машинный код для исполнения процессором. Программы на них в целом работают довольно быстро, однако сильно подвержены ошибкам, так как включают в себя большой объём работы с памятью. Кроме того, хотя эти языки кроссплатформенные, объём переделки программы с одной платформы на другую очень велик, так как языки не учитывают особенности аппаратной платформы и операционной системы.
б) Языки Java и C# генерируют код для выполнения на так называемых виртуальных машинах. Виртуальная машина - это своего рода "прослойка" между комплексом "процессор-операционная система" и кодом, сгенерированным компиляторами этих языков. Виртуальные машины как правило учитывают особенности платформ, поэтому перенос программ между платформами заметно легче, чем в С или С++. Но эта виртуальная машина сильно отъедает ресурсы у процессора, поэтому программы работают медленно.
в) Язык РНР специально предназначен для Web-разработки. На этом языке пишутся программы, которые, будучи установленными на веб-сервере, принимают данные из браузеров клиентских компьютеров и, обрабатывая эти данные, генерируют HTML-код, возвращаемый в браузер. Надо сказать, что такие вещи можно делать не только на РНР, однако сейчас этот язык можно назвать ведущим средством для этой задачи.
Любезный
10-05-2011, 15:38
Отдельно скажу про Паскаль. Это очень простой язык, который в чём-то похож на простую последовательность математических выражений. За счёт этого код этого языка очень легко читать. Однако он слабовато учитывает особенности процессора и платформ, поэтому машинный код, сгенерированный компилятором этого языка, получается несколько более громоздким, чем на С или С++. Тем не менее, этот язык тоже кроссплатформенный. Существует достаточно компиляторов Паскаля под разные операционные системы. Самые известные - это 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 по умолчанию и имеет недостаток - в ней представлены не все мировые символы.
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 (имхо).
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC