unr303

Как научиться программировать или какой язык учить

Рекомендованные сообщения

Избавление от пойнтеров безусловно благо.

А индексаторы безопасны.

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

Короче C# рулит в мире .NET.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Давайте не отклоняться от целевых тем дискуссии: "с чего начать программировать" и "какой язык для начинающего в этом деле предпочтительнее".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

насчет C++ - полностью пооддерживаю пункт 1:)

но есть другая сторона - люди, начинавшие на C++, пишут более грамотный и "лучший" код, чем начинавшие сразу с шарпа или java (не все конечно - но большинство)... так что вполне вероятно учиться стоит на плюсах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Самый лёгкий VBA и visual basic(ибо разновидность pascal) ну а если надо чтото большее то это C++ или Delphi - лучше всего borland builderы

В школе балуюсь VBA, а дома C++

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

То что VB/VBA-разновидность Паскале это глупость. Какая ещё разновидность? Два совершенно разных языка. Более того Basic изначально строился на метках типа GOSUB/RETURN. А Паскаль изначально был с нормальными полноценными функциями. И синтаксис Паскаля куда понятнее и правильнее. Так что моё мнение что начинать с ВБ глупо. Потому что это кривой и слабый язык. Я сам анчинал с него но недолго и по стечению обстоятельств. Что касается помощнее то конечно это C/Pascal. Согласен что Delphi. C++ Builder не знаю. Никогда не пользовался им практически. Зато могу посоветовать C#. Мощный, удобный, современный. Так что (помойму уже писал) советую начать изучение с Pascal. Далее C и далее C++ для знакомства с ООП. А так многие современные языки все си-подобные. PHP, Java, C# например.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

P.S. Желаю интересных лекций у сильных преподавателей - идите в ВУЗы. :(

 

P.P.S. Жделающим освоить программирования на дому, "всестороннее программирование", так сказать, - советую изучить XML, C# или XML, Java (именно в таком порядке), но только потому, что шарп, как и ява, имеют наиболее обширные области применения. :)

 

P.P.S. Кто опять скажет, что XML - не язык программирования, - забаню наф. :)(шютка)

Изменено пользователем RuForce

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

RuForce, хм,в вузе как повезёт,лекторы разные бывают

на дому:

сам же писал что изучать надо алгоритмику,ТИС и пр.

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

берём дос (да хоть под эмулем)компилятор и пишем различные программы

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

далее берём умных людей(в бумажном виде) и читаем что то вида "а как же эффективнее выделать память для бинарных деревьев"

и реализуем

кода много

времени надо много

но программировать научиься до уровня что освоить уже любой язык (C++,C#,JAVA,DELPHI,XML...) не составит труда причём использовать в роли учебника по языку будешь встроенную в ИДЕ справку

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

То что VB/VBA-разновидность Паскале это глупость. Какая ещё разновидность? Два совершенно разных языка. Более того Basic изначально строился на метках типа GOSUB/RETURN. А Паскаль изначально был с нормальными полноценными функциями. И синтаксис Паскаля куда понятнее и правильнее. Так что моё мнение что начинать с ВБ глупо. Потому что это кривой и слабый язык. Я сам анчинал с него но недолго и по стечению обстоятельств. Что касается помощнее то конечно это C/Pascal. Согласен что Delphi. C++ Builder не знаю. Никогда не пользовался им практически. Зато могу посоветовать C#. Мощный, удобный, современный. Так что (помойму уже писал) советую начать изучение с Pascal. Далее C и далее C++ для знакомства с ООП. А так многие современные языки все си-подобные. PHP, Java, C# например.

Да согласен чтоBasic не разновидность паскаля.Они по некоторым синтаксисам оч.похожи.А вот то что начинать с бейсика-это совсем не глупо!Тем кто еще не заканчивал институт советую научится(оссобенно кто подёт в математич.факультет).

а по сложности вроде идёт так(от простого к сложному)

1.VB\VBA(самый простой)

2.Pascal\Delphi

3.C\C++\Visual C++

4.C#

5.PHP\Perl

6.XML

7.1C

8.Java

9.Assembler

 

З.Ы.:Не уверен по поводу пунктов 5,6,7

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не согласен с тем что начинать надо с ВБ. Кривой язык. А Паскаль ничуть не сложнее. Наборот понятнее. Не зря же он разрабатывался как язык обучения для студентов. И не надо обращать внимания на слово "студентов". Что касается сложности то помойму она глупая. Как можно сравнивать Паскаль и Си с ПХП и Перл? Это совсем разные области. Их глупо сравнивать. Равно как и Джава и Си Шарп. Это языки одного уровня но для разных целей. XML не считаю языком программирования. Что на нём программировать? Это скорее метаязык. Язык описания. По определению. На нём нельзя программировать. Можно только описать что-то. 1с это вообще язык совсем другого уровня. Да и потом подумай сам. Как он связан с остальными? Зачем учить например Паскаль чтобы знать 1С? 1С узко специализированный язык. Сугубо для работы в 1с собственно. Зачем тогда учить остальное? И делить языки именно эти по сложности помойму нет смысла. Не спорю что Ассемблер самый сложный. Это очевидно. А вот Паскаль, Си, Си++, Си Шарп, Джава, ХМЛ это один уровень. 1С это вообще другая телега. И потом что знаич Паскаль? Конечно Турбо Паскаль уступит по возможностям Шарпу но Делфи (Обджэкт Паскаль) нисколько. Так что деление условное и точно непраивльное. С моей точки зрения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну короче будущим студентам матфака учить Delphi и ВБ

Всем остальным C++,Delphi/Pascal

а вообще полезно все языки хотябы немного знать.В том числе английский/немецкий :):lol::);):D

 

2IRQ дисскусия про ВБ закончена

Изменено пользователем WinMAC

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну короче будущим студентам матфака учить Delphi и ВБ

Delphi - это среда программирования прошлого. Не рыба ни мясо. MS VS 2008 рулит.

VB уже де-факто отправлен форточками на свалку. Сохранился в сильно изменённом виде как VB.NET и ещё как legasy в оффисе в виде VBA, однако C# в этом случае гораздо удобнее и все соскакивают на него.

Всем остальным C++,Delphi/Pascal

С++ позволяет решать любые задачи. Есть также и Python. Языки не для идиотов.

Кстати есть и Ruby - тоже интересный язык.

а вообще полезно все языки хотябы немного знать.В том числе английский/немецкий :):rtfm::):D :D

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

Например изучение SQL полезно при любом программировании.

Если имеется ориентация на Linux, то в любом случае необходимо изучать bash-скрипты. Но это уже специфика.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сначала думаю следует изучать процедурное программирование и потом ООП. Что касается SQL то не считаю что полезно его изучать. Это язык специфический для СУБД. По поводу Delphi не надо. Весьма мощная и удобная среда. Работал в 10 версии мне понравилось. Плохого ничего нет. Ни о каком прошлом речи нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Delphi - это среда программирования прошлого. Не рыба ни мясо. MS VS 2008 рулит.

VB уже де-факто отправлен форточками на свалку. Сохранился в сильно изменённом виде как VB.NET и ещё как legasy в оффисе в виде VBA, однако C# в этом случае гораздо удобнее и все соскакивают на него.

Я почитал твои сообщения в этой ветке и ты вижу то что ты очень пропагандируеш разработку в .Net а не Win32.А это не всегда есть хорошо.И еще во многих инмтах всех заставляют программировать на VB/VBA

и намного реже на c#.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Delphi - это среда программирования прошлого. Не рыба ни мясо. MS VS 2008 рулит.

ты просто не умееь их готовить ;)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

IRQ, нравится Delphi - пиши на здоровье. Вопрос не в том на чём пишешь, а в том есть ли у тебя талант. Люди и топорами церкви строили.

WinMAC, люди которые могут писать только винду имхо не могут называться программистами, так же как и настройщики ядра 1С . Назовём их дипломатично прикладынми программистами. .NET, как и Java - кроссплатформенные среды. Люди, которые обучают в институтах VB/VBA просто не знают ничего другого. Да и зачем им мозги парить - научить проще для галочки. Я помню VBA как кошмарный сон. Вечное упирание в глюки, когда нужно реализовать взаимодействие с API. Ещё раз повторяю - форточки от него отказались. Скажи какая разница с вышеупомянутыми средами, если всё равно VBA транслирует всё в С?

Маразм.

tz-lom, такое впечатление после твоего поста, что я лет на 15 в машине времени пропутешествовал. Первую программу, кстати, я написал на фортране. Потом был Паскаль, ТурбоПаскаль. Фортран - это язык придуманый для математических вычислений и в нём изначально заложены неудобства, от него отказались в обучении в серьёзных конторах уже в середине 90х. А уж про бэйсик я молчу - это язык для программируемых калькуляторов и я думал он давно издох.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

{ C/C++ && (ACE||POCO) && (Qt || Gtk || FOX toolkit) } наше всё! ;)

С наступающим, народ!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

drnet,

согласен с твоими постами. Всё больше программ создается с использованием .NET и к тому же все opensource проекты пишутся на СИ и проектов с открытым кодом становится все больше и больше и грех не воспользоваться их исходниками :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
от него отказались в обучении в серьёзных конторах уже в середине 90х

drnet, можно подумать что ты концентрация вселенских знаний!

не в обиду было сказанно,и если бы я не встречался с этим сам то конечно же поверил бы

но нет,ты не прав

для примера-в МИФИ учат фортран на физических кафедрах

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

и хоть программа работает медленнее чем если бы она была написанна на С++,она работает и даёт правильный результат,а это главное

NET, как и Java - кроссплатформенные среды

дотнет не кроссплатформенный

под кроссплатформенностью я понимаю следующее:

программа должна запускаться на многих видах процессоров(например x86,arm,mips,sh3)

программа должна запускаться под многими ОС(win,*nix,WM,Solaris,BSD....)

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

если я не прав киньте в меня мандарин-Новый Год всётаки :ded_snegurochka2:

 

P.S.

всех с Новым Годом!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Конечно .NET не кроссплатформенная штука. Зачем Майкрософту поддерживать чужие платформы? Другое дело внедрять. Перетягивать на себя одеяло так сказать. Например Моно. Но никакой кроссплатформенности нет. Есть многоязычность. Подобие Джава-машины. MSIL. Но это совсем другая история.

 

Всех а настпуающим! Рабочего кода и лёгкой отладки ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что ж такое господа!Непорядок!Поддержим отечственного производителя!

http://glagol.nad.ru/

!

Также есть Русские Алгол и КуМИР!

;)

Мы же живем в великой строне и ведь именно у нас первыми компьютер придумали!Просто фон нейман ету технологию запатентовал первый)))Возможно вы будите ето отрицать но так оно и есть))просто знают ето в очень узких кругах и был тогда ведь СССР и наши власти на ето дело забили а потом не стали призновать свои ошибки)))

 

Да и с новым годом!Может хоть чтото революционное в етом году народные умельцы придумают!)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

для примера-в МИФИ учат фортран на физических кафедрах

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

и хоть программа работает медленнее чем если бы она была написанна на С++,она работает и даёт правильный результат,а это главное

дотнет не кроссплатформенный

под кроссплатформенностью я понимаю следующее:

программа должна запускаться на многих видах процессоров(например x86,arm,mips,sh3)

программа должна запускаться под многими ОС(win,*nix,WM,Solaris,BSD....)

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

если я не прав киньте в меня мандарин-Новый Год всётаки :)

 

P.S.

всех с Новым Годом!

 

 

Конечно .NET не кроссплатформенная штука. Зачем Майкрософту поддерживать чужие платформы? Другое дело внедрять. Перетягивать на себя одеяло так сказать. Например Моно. Но никакой кроссплатформенности нет. Есть многоязычность. Подобие Джава-машины. MSIL. Но это совсем другая история.

 

Всех а настпуающим! Рабочего кода и лёгкой отладки :)

1)tz-lom,IRQ, Я использую портал, который работает и под Linux и под Windows под 4мя базами данных. Спасибо, что просветили :huh:

2)tz-lom, кидаю в тебя мандарин, без телодвижений ничего стоящего не запускается.

3)IRQ, язык один MSIL.

4)tz-lom, ещё раз по-поводу Fortran. Ключевые слова "в МИФИ учат фортран на физических кафедрах". Вот именно, непрофильных. Головы будущих физиков не хотят забивать ненужными им пойнтерами, шаблонами, индексаторами. Это называется имитация, так сказать основы программирования. В МИФИ есть кафедры где учат такие языки, которые требуются только крайне узким специалистам, типа Verilog, ну и что из этого? Насчёт процессов в ядерных реакторах, скажу только, что в МГТУ (Баумана) на кафедре ЯЭУ отказались от Фортрана ещё в начале 90х в пользу ТурбоПаскаля.

Ну и что дальше? Смысл имхо в том, что люди, которые рулят на этих кафедрах освоили Фортран и осваивать что-либо ещё не хотят, так как нет явной необходимости.

Что ж такое господа!Непорядок!Поддержим отечственного производителя!

http://glagol.nad.ru/

!

Также есть Русские Алгол и КуМИР!

:unsure:

Мы же живем в великой строне и ведь именно у нас первыми компьютер придумали!Просто фон нейман ету технологию запатентовал первый)))Возможно вы будите ето отрицать но так оно и есть))просто знают ето в очень узких кругах и был тогда ведь СССР и наши власти на ето дело забили а потом не стали призновать свои ошибки)))

 

Да и с новым годом!Может хоть чтото революционное в етом году народные умельцы придумают!)))

Ага, Эльбрус наше всё! Мазохистов - программистов найти тяжело. ;)

Изменено пользователем drnet

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какую литературу подскажите для изучения языка ассемблера?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какую литературу подскажите для изучения языка ассемблера?

 

Олег Калашников "Ассемблер? Это просто! Учимся программировать. (+ CD-ROM)"

БХВ-Петербург, 2007

ISBN 5-94157-709-5 978-5-94157-709-5

 

ozon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Помойму ещё Юров хоррошую книгу написал. Называется "Turbo Assembler".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Надежда Голубь "Искусство программирования на ассемблере" тоже очень стоящая вещь

А еще прикупил тут себе Владислава Пирогова "Ассемблер для Windows", очень грамотная книга

Изменено пользователем freemind

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я изучала язык C++ по книжке Лафоре Объектно-ориентированное программирование в C++

Изменено пользователем Запятая

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По моему дискуссия зашла в тупик, каждый остался при своем мне ние и пытается других убедить, что его мнение абсолютно верно. А дискуссия свелась к тому: " на чем лучше писать программы". "Люди - тоесть человеки" - программирование на 90 процентов состоит из алгоритмирования - умения составлять алгоритмы. А перевести строку с командой на русском - в строку команды языка программирования - это уже не токая проблема. Поэтому с начало стоит научиться писать алгоритмы на листе бумаге, а потом уж учить языки программирования.

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DeathStalker, ты конечно прав,и спор о языках программирования это 90% спор что "по русски я говорю хороо,так что пускай все говорят по русски чтобы я понимал"

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

всем привет.

Не осилил всю тему, но хочется немного внести от себя:)

DeathStalker почти прав. Алгоритмы нужно знать факт.

Но без "фичей" языка программирования, далеко не уйдёшь. Приведу пример на C#:

простой код:

if ( a == b ) {
return true;
}
else {
return false;
}

 

как красиво:

return a == b;

 

Думаю немного понятно о чём я.

 

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

C++/java/c# - вот то, на чём можно писать. Перейти с одного языка на другой не сложно (синтаксис похож).

VB даже трогать я бы не стал, глупый и тупой язык.

delphi - кака.

Всё это ИМХО.

 

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

- 3 книги господина Кнута "Искусство программирования". просто библия программиста

- так же очень полезная книга автор вроде М. Фаулер "Рефакторинг"

Изменено пользователем mlurker

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По поводу шарпа что ты имел ввиду? В шарпе ведь можно написать return a==b. Касательно рефакторинга это отдельная тема и уж точно не для начинающих. Рефактроинг это исключительно примочка ООП и для его изучения надо сначала изучить само ООП для чего неплохо блыо бы изучить обычное структурное программрование. Например Паскаль, Си (не плюсы а просто Си который без классов).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас