какой тип паскаля выучить?
| |
PBPROG | Дата: Воскресенье, 28 Июля 2013, 17:30 | Сообщение # 21 |
постоянный участник
Сейчас нет на сайте
| Цитата (AlexRabbit) Любой не объектно-ориентированнный. Basic, Pascal - не имеет значения. Согласен. Для начала нужен не слишком сложный язык, например PureBasic или подобный. Для игр подойдет.
|
|
| |
Сибирский | Дата: Воскресенье, 28 Июля 2013, 19:10 | Сообщение # 22 |
Javatar
Сейчас нет на сайте
| Учите объектно-ориентированный язык и не парьтесь вообще. Можно Python поучить, Можно писать и процедурно ориентированно и объектно-ориентированно. Lua тоже вполне адекватно. Но у Python шире применение.
Сообщение отредактировал Сибирский - Воскресенье, 28 Июля 2013, 19:11 |
|
| |
Revolver_45 | Дата: Вторник, 30 Июля 2013, 08:18 | Сообщение # 23 |
почетный гость
Сейчас нет на сайте
| Цитата (Сибирский) Учите объектно-ориентированный язык и не парьтесь вообще. Поступайте именно так, если желаете получить то, что некоторые называют "ооп головного мозга" (глупо звучит, но характерно), а именно самоограничение конкретными парадигмальными рамками и чётко выстроенным шаблоном, который страшно порвать. При помощи ООП вы конечно же будете решать не свойственные ему задачи. Когда, только взглянув в ТЗ, уже на подсознательном уровне по умолчанию вам придёт идея первым же делом разбить задачу на объекты, классы, потому что это будет вашим правилом, или, скорее, законом. В результате этого получаются неэффективные в том смысле программы. Но с этим вы уже ничего не поделаете, просто потому, что вы не знаете другого подхода, и не то, что не знаете, а он идёт "вразрез" вашим понятиям. ООП - это не универсальная заменяющая модель, а одна из, но в сравнении с ФП и ПП, ООП - это "свистелки и перделки" (выражаясь грубо (весьма) ), но его "красивость", низкие временные затраты на разработку и самое главное простота сопровождения и поддержки кода, конечно, подкупает очень многих программистов.
P.S. А языки учить не надо, они вас не научат программированию.
rtytyrtyr
Сообщение отредактировал Revolver_45 - Вторник, 30 Июля 2013, 08:23 |
|
| |
Undead | Дата: Вторник, 30 Июля 2013, 11:46 | Сообщение # 24 |
NeoAxis User
Сейчас нет на сайте
| Revolver_45, сразу видно, что ты сам не понимаешь, что такое ооп.
Добавлено (30.07.2013, 11:46) --------------------------------------------- Да и к чему этот срач. Я, в качестве первого языка, посоветовал бы C++. Сам шел по такому пути и остался доволен.
Вcем зла.
|
|
| |
Revolver_45 | Дата: Вторник, 30 Июля 2013, 12:01 | Сообщение # 25 |
почетный гость
Сейчас нет на сайте
| Undead, я понимаю что такое ООП, особенно то, в какой узкой области исследований он удачно применим. Не понимает тот, кто использует данный подход к технологии программирования как попало и где попало, особенно, если стремится решать им любые задачи, что просто иррационально.
rtytyrtyr
|
|
| |
Сибирский | Дата: Вторник, 30 Июля 2013, 17:05 | Сообщение # 26 |
Javatar
Сейчас нет на сайте
| Цитата (Revolver_45) в какой узкой области исследований он удачно применим Вынужден усомниться в вашей компетенции. Вполне адекватно
|
|
| |
Undead | Дата: Вторник, 30 Июля 2013, 19:44 | Сообщение # 27 |
NeoAxis User
Сейчас нет на сайте
| Цитата (Сибирский) Вынужден усомниться в вашей компетенции. Судя по тому, что он класс от объекта не отличает, то о компетенции и речи нет. ООП - самое рациональное решение в ~90% случаев.
Вcем зла.
|
|
| |
Мягкай | Дата: Вторник, 30 Июля 2013, 20:22 | Сообщение # 28 |
был не раз
Сейчас нет на сайте
| Цитата (PBPROG) например PureBasic или подобный.
Цитата (PBPROG) Для игр подойдет.
Цитата (Undead) Я, в качестве первого языка, посоветовал бы C++. Сам шел по такому пути и остался доволен. школота обычно не знает о существовании Си и использует C++ несмотря на то, что оно дерьмо
Мне 16, я взрослый.
Сообщение отредактировал Мягкай - Вторник, 30 Июля 2013, 20:24 |
|
| |
Сибирский | Дата: Вторник, 30 Июля 2013, 20:28 | Сообщение # 29 |
Javatar
Сейчас нет на сайте
| Цитата (Мягкай) школота обычно не знает о существовании Си и использует C++ несмотря на то, что оно дерьмо Пытался сказать, что ты бородат, а мы - никто, а показал себя откровенно отсталым. Хотя я java-boy, почем мне знать? Но С юзать сегодня - уже не торт. (очень мало необходимости) На дворе 2013 год, зачем себя истязать? P.S. За опускание PB - плюсик
Сообщение отредактировал Сибирский - Вторник, 30 Июля 2013, 20:30 |
|
| |
Мягкай | Дата: Вторник, 30 Июля 2013, 20:30 | Сообщение # 30 |
был не раз
Сейчас нет на сайте
| вообще самый адекватный паскаль из всех существующих - FPC, только собирает он очень жирное приложение, порядка 150кб+
Мне 16, я взрослый.
|
|
| |
Vinchensoo | Дата: Вторник, 30 Июля 2013, 20:31 | Сообщение # 31 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Цитата (Сибирский) Можно Python поучить, Можно писать и процедурно ориентированно и объектно-ориентированно. Lua тоже вполне адекватно. Но у Python шире применение. Python для начинающего- адЪ в плане синтаксиса и функциональных фич. Я б не решился.
Лучше действительно начинать с чего-нить процедурного и сильно строго, типа С. А потом без проблем перейти на любой ОО-язык или даже какую-нить экзотику из функциональщины.
А вообще, язык подбирается под задачу, а никак не наоборот.
|
|
| |
sem6666 | Дата: Вторник, 30 Июля 2013, 20:40 | Сообщение # 32 |
участник
Сейчас нет на сайте
| Как все впаривают, то лучше уж брать си или си++. Но не стоит сбрасывать со счетов и паскаль. Вполне пригоден и легче того же си. Реализовать на нём можно всё что угодно. Но движков с его использованием наверное по пальцам можно пересчитать. Лишь бы были руки прямые (хотя самого трудно к таким отнести). Но если идти по пути игростроя, то всё таки лучше сразу учить си.
|
|
| |
Мягкай | Дата: Вторник, 30 Июля 2013, 20:55 | Сообщение # 33 |
был не раз
Сейчас нет на сайте
| Цитата (sem6666) Вполне пригоден у тебя комплексы
Мне 16, я взрослый.
|
|
| |
Undead | Дата: Вторник, 30 Июля 2013, 20:58 | Сообщение # 34 |
NeoAxis User
Сейчас нет на сайте
| Цитата (Мягкай) школота обычно не знает о существовании Си и использует C++ несмотря на то, что оно дерьмо Твой икспертный опыт очень важен для нас. Никто не заставляет использовать ооп в "С++", а "С" уже не актуален для прикладного по. Цитата (Сибирский) Пытался сказать, что ты бородат, а мы - никто, а показал себя откровенно отсталым. +1
Вcем зла.
|
|
| |
AlexRabbit | Дата: Вторник, 30 Июля 2013, 20:59 | Сообщение # 35 |
старожил
Сейчас нет на сайте
| Цитата отсюда:
Цитата Зашел в тему почитать "советы". Грустно, друзья мои. Почитав Ваши "советы" и последовав им, новичек сломает себе мозг и никогда не научится ничему путному. При этом очевидно, что "даватели советов" никогда не преподавали программирование, не выпустили хотя бы десяток специалистов, да и сами разбираются во многих ЯП и алгоритмике "где то около", иначе бы они не писали то, что написали.
Еще хуже то, что новичку не понятно на чьи слова ориентироваться. "Умные дядьки" пишущие тотальную фигню допущены ко всем темам, и могут выступать в роли экспертов по любому поводу - от выбора ЯП до обсуждения роли гейм-дизайнера (которым они ни дня не работали). В этой ситуации (да простят меня модераторы) ресурс скорее вреден, чем полезен, и наносит ущерб тем, кто приходит с нормальными, реальными вопросами (пусть и с непониманием спрашиваемого). Зато даёт раздолье желающим "блеснуть знаниями".
Что интересно, интернет полон статей о грамотном обучении (и последовательности обучения) языкам. Никто, ни один специалист не рекомендует начинать с объектно-ориентированных языков типа C++, Java и т.д. Даже те, кто дают первым языком C# подтверждают, что порог вхождения в него крайне высок, и требует понимания очень многих вещей (в частности, что такое и как работает .Net Framework, и с первых же строк кода - основы объектно ориентированного подхода). Да, писать то на нём потом человек будет (чаще как мартышка), но будет ли он понимать, и вызовет ли сие обучение понимание алгоритмов? Скорее всего нет.
Quote (shaman4d) Только я вот уже 9 лет жалею что не сделал именно так - вместо этого учил и испольщовал всякие JS Java PHP Basic ActionScript Delphi
И только это дало Вам в последствии возможность нормально подойти к языкам типа С++. Это нормальная практика.
Для "экспертов" С++ напомню, что все творения id-software до DOOM-3 были написаны на чистом С. Там не было С++. Почитайте интервью и книги про игрострой. Еще я им советую ознакомится с тем, как пишется их любимый Linux, и на каком языке пишется не только ядро (в версии Линуса Торвальдса), но и масса прикладных программ. Это тоже... Си, а не С++.
С++, преподанный человеку без подготовки порождает УЖАСНЫЕ алгоритмы и очень плохой стиль программирования. Попытка научить человека без базы С++ - это попытка дать технику нейрохирурга в руки человека, не умеющего накладывать бинт. Действительно, зачем ему бинты, он ведь хочет делать операции на мозге! Бинтует пусть медсестра!
Есть стандартный подход к обучению. Есть, между прочим прекрасная статья: "Как стать хакером" Эрик С. Рэймонд http://volgograd.lug.ru/library/hacker-howto.ru.html , которая обновляется с 1998 года. И почему то реальные эксперты в области ПО не видят ничего проблемного в обучении Basic, Pascal, Python. Почему то регулярно появляются новые версии "никому не нужного" бейсика. Ребята, Вы сами то в состоянии написать на Бейсике коммерческий продукт? Или Вы считаете, что круче уметь писать "Hello, World" на С++ - это делает Вас программистами?
Сейчас обучение значительно облегчено. Появились нормальные книги типа Петцольда "КОД", где полный новичек может узнать подноготную вычислительной техники и основы алгоритмики. Есть масса книг по QuickBasic 4.5 и Pascal. Почему до сих пор выпускаются книги по TurboPascal 7.0? Вам не приходило в голову, что это не мировой заговор?
Сначала изучаются обычные языки без всякого ООП: это Basic или Pascal. Лично я отдаю предпочтение Basic, но это сугубо вопрос личных предпочтений (как вопрос "что лучше - синий или зелёный"). Очень неплохо освоить оба: программист, знающий 1 или 2 языка - это несчастье а не программист. Потом желательно обучить человеку основам ассемблера. Да, вкратце, но он должен знать что это такое. И на базе всего этого разбирать с ним простейшие алгоритмы. Потом человеку можно дать Си.
(Альтернативный вариант предполагает Python-PHP-JavaScript-Java, но это не программистский вариант, а скорее курс рассчитанный для вебмастеров, которым сейчас не обойтись без программирования. Там не идет речь о сложной алгоритмике и скорее речь о программировании интерфейсов. Там такой подход простителен.)
И вот после того как человек научится обращаться с алгоритмами (с алгоритмами, а не выучит операторы!) ему можно дать ООП. Да, тут уже можно дать ему С++.
На счет споров С++ vs C# в последовательности обучения. Я лично обожаю С# и не притрагивался с С++ (за редкими исключениями) со времен Borland 3.1, но правда состоит в том, что программист должен уметь читать код на С++, так как большинство имеющегося сейчас кода написано на нём. Огромная часть литературы по геймдеву так же ссылается на алгоритмы С++. А научиться читать код не писав его - нереально. Кроме того, обратная пересадка (с С# на С++) редко происходит безболезненно. Есть много нюансов, из-за которых будто бы правильный код оказывается неработоспособен. Поэтому, при всей моей любви к C# я бы рекомендовал после Си выучить (неглубоко) С++, достаточно одного простого курса С++, а потом уже переходить к планомерному изучению С#. В этой ситуации необходимость иметь дело с С++ не вызовет проблемы.
Если человек чистый "прикладник" или нацелен на разработку игр на какой то конкретной платформе (Unity3D), то я понимаю желание выучить сразу С#. Тем более, что понятные и доступные книги для этого есть (Петцольд "программирование в тональности С#"или книга "HeadFirst C#").
Однако, как только человек столкнётся с чем либо сложнее программирования "Сапёра" и "Арканоида", он убедится, что решение нетривиальных задач лежит не в области знания операторов С#, а в области алгоритмизации, и вот тут начнется свистопляска.
Поэтому если мы говорим об обучении программированию (а не о том, чтобы геймдизайнер подучился скриптингу) то вышеописанная последовательность - единственная, после которой можно рассчитывать на получение вменяемого специалиста.
В зависимости от конкретной ситуации могут быть отступления. Некоторые параллельно с Си могут изучать разработку баз данных (Access, FoxPro и т.д.), веб ориентированные программисты могут осваивать Ruby или что-либо ещё. Тот же С# нужен далеко не всем, и мы о нем говорим так как речь идет о гейм-деве. Не надо забывать и о том, что есть еще и программирование под MacOS. Но это уже детали. Повторюсь: программист должен знать и уметь пользоваться разными языками. Потому что разные языки это не тоьлко набор операторов или подключаемых библиотек - это разный СТИЛЬ решения задачи. И для С, С++, SmallTalk и FORTRAN он будет разным.
Сообщение отредактировал AlexRabbit - Вторник, 30 Июля 2013, 21:38 |
|
| |
Мягкай | Дата: Вторник, 30 Июля 2013, 21:07 | Сообщение # 36 |
был не раз
Сейчас нет на сайте
| Цитата (Undead) а "С" уже не актуален для прикладного по. Python не актуален, ок. GIMP не актуален, ок. Linux не актуален, ок. Inkscape не актуален, ок. GLFW не актуален, ок.
Мне 16, я взрослый.
|
|
| |
Vinchensoo | Дата: Вторник, 30 Июля 2013, 21:08 | Сообщение # 37 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| AlexRabbit, веб-ориентированный программист звучит как ориентация.
Цитата Но это уже детали. Повторюсь: программист должен знать и уметь пользоваться разными языками. Потому что разные языки это не тоьлко набор операторов или подключаемых библиотек - это разный СТИЛЬ решения задачи. +100, собсно. Просто в большинстве случаев, человек, задающий вопросы, не знает, какие задачи ему нужно решать, отсюда и возникают подобные "выборы".
К тому же, огромному проценту людей, для которых игры- хобби, не хочется учить скучную математику или алгоритмы, хочется, чтобы человечек бегал. Так и появляются "обезьянки" определенной технологии, вроде бы неплохо знающие веб-кодинг, но быдлокодеры по сути своей, ибо стек от очереди не отличат. Цитата (Undead) а "С" уже не актуален для прикладного по. Был и будет актуален для того, где критична производительность(сервера субд, например). Для прикладного ПО есть дотнет и java, ибо быстро и относительно дешево. Но никак не С++.
|
|
| |
Мягкай | Дата: Вторник, 30 Июля 2013, 21:18 | Сообщение # 38 |
был не раз
Сейчас нет на сайте
| Undead, кстати, интересные факты: - Си компилируется быстрее C++
- Си не требует libstdc++
- Приложение на Си имеет меньший размер, нежели аналогичное на C++
- Школоту привлекает больше C++, чем просто C (читают как "кэ") ибо C++ звучит как нечто ультрасовременное и нереально модифицированное
Мне 16, я взрослый.
|
|
| |
AlexRabbit | Дата: Вторник, 30 Июля 2013, 21:30 | Сообщение # 39 |
старожил
Сейчас нет на сайте
| Меня все время удивляют (без негативного смысла) люди, которые достаточно умны, чтобы выучить с нуля С++, но почему то полагающие, что все остальные обладают такими же способностями в самообразованию в этой сфере.
Ну вот есть, к примеру, полиглоты, которые могут язык по словарику выучить, или вообще в ходе речевого общения. Ну не надо же из этого делать вывод, что на это способен каждый.
Цитата (Vinchensoo) К тому же, огромному проценту людей, для которых игры- хобби, не хочется учить скучную математику или алгоритмы, хочется, чтобы человечек бегал. Так и появляются "обезьянки" определенной технологии, вроде бы неплохо знающие веб-кодинг, но быдлокодеры по сути своей, ибо стек от очереди не отличат.
Потому, что произошла путаница. Есть люди которые хотят ПРОГРАММИРОВАТЬ ИГРЫ, и есть люди которые хотят ДЕЛАТЬ ИГРЫ. Хотите программировать? Алгоритм обучения описан выше. + Математика из соотв. книг.
Хотите делать? Ради бога: Construct, RPGMaker, GameMaker - делайте прототипы, и, фактически, совмещайте гейм-дизайнера и скриптера. Я знаю кучу проф. геймдизов, которые ноль в кодинге. Которые пришли в индустрию из, к примеру, карточных RPG игр. Ну так извините, там другие "скиллы" надо прокачивать.
Уметь грамотно писать, к примеру. Меня поражают "вип-сценаристы" и "геймдизайнеры", которые хотят запилить новую игру, но даже не в состоянии написать на нее нормальный дизайн-документ. Гейм-диз без портфолио - вообще нонсенс. Мини-игры и текстовые игры можно сделать в любом конструкторе. И его будет достаточно, чтобы понять: человек вообще умеет хотя бы выражать мысли или он просто...
p.s. И люди, перестаньте молиться на ООП. http://www.geocities.com/tablizer/oopbad.htm
Сообщение отредактировал AlexRabbit - Вторник, 30 Июля 2013, 21:37 |
|
| |
Undead | Дата: Вторник, 30 Июля 2013, 21:46 | Сообщение # 40 |
NeoAxis User
Сейчас нет на сайте
| Цитата (Мягкай) Python не актуален, ок. GIMP не актуален, ок. Linux не актуален, ок. Inkscape не актуален, ок. GLFW не актуален, ок. Винда кстати тоже на "С" написана. Они отстают от от аналогов. Их поддержка и допиливание обходится в гораздо больше человекачасов.(Ядро ос - прикладная прога. ок.) Цитата (Мягкай) Си компилируется быстрее C++ Си не требует libstdc++ Приложение на Си имеет меньший размер, нежели аналогичное на C++ Школоту привлекает больше C++, чем просто C (читают как "кэ") ибо C++ звучит как нечто ультрасовременное и нереально модифицированное Не актуально же Цитата (Vinchensoo) Был и будет актуален для того, где критична производительность(сервера субд, например). Для прикладного ПО есть дотнет и java, ибо быстро и относительно дешево. Но никак не С++. Ты хоть раз писал большие проекты? На "С" - тот ещё гемор. "С++" даёт главные приемущества любому проекту - простота поддержки, расширяемость, скорость разработки. Цитата (Vinchensoo) ля прикладного ПО есть дотнет и java, ибо быстро и относительно дешево. Их скорости часто не хватает. И без использования нативного функционала редко обходится. Почему мне вместо того, чтоб писать спокойно на .Net,е всё, приходится почти половину функционала писать на плюсах? Большинство программ пишутся на плюсах, а вы все утверждаете, как будто его вобще никто не использует.
Добавлено (30.07.2013, 21:46) --------------------------------------------- Цитата (AlexRabbit) Меня все время удивляют (без негативного смысла) люди, которые достаточно умны, чтобы выучить с нуля С++, но почему то полагающие, что все остальные обладают такими же способностями в самообразованию в этой сфере. Если нет желания и способностей, зачем тогда учиться программировать? Быдлокодеров плодить? Любой программист должен знать хотя-бы основы асма и то, как работают яп "изнутри" (как реализованы функции, ооп и т.д.). Цитата (AlexRabbit) И люди, перестаньте молиться на ООП. http://www.geocities.com/tablizer/oopbad.htm Один хрен удобно же. К тому же оно разным бывает, смотря как в языке реализовано.
Вcем зла.
Сообщение отредактировал Undead - Вторник, 30 Июля 2013, 21:49 |
|
| |
|