Yiff.ru

Форум

Главная
Галерея
Истории
FAQ
Ссылки
О сайте
Форум
Гостевая книга
Логин:      Пароль:     [ Регистрация | Поиск ]
Форум yiff.ru >> Бейсик и все все всеСтраницы: [<<<][ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ..14 ][>>>]

Автор Сообщение
Wise Dragon
Тентакледракон
Сообщений: 7606

06.01.2014 05:31
Инфо | цитировать | линк
~, ты путаешь игровой скриптинг и геймдев.

Скрипты для игр пишутся на Lua же. реже на Squirrel или языках специфичных для конкретных игр, например WML.

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

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

 
 
 
Jabberсвободное общение!
~
Незарегистрирован

Сообщений: 6733

06.01.2014 05:49
Инфо | цитировать | линк
Wise Dragon писал: ты путаешь игровой скриптинг и геймдев
Вполне возможно. В таком случае да, лучше всего подойдет Lua.

 
 
 
Рыцарь унылого образа
.
 

Сообщений: 1763

06.01.2014 11:01
Инфо | цитировать | линк
ИМХО, Бейсик и Паскаль/Дельфи для обучения совершенно равноценны. Оба многословны и хорошо читаются. Оба языка обросли кучей новых фич, но ученику можно просто о них не знать. Не вижу с этим проблемы. Это не C++, где для написания Hello World требуются глубокие познания.

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

В принципе можно начать изучать и с C#, но там для Hello World всё-таки некоторое количество лишнего ООПного обвеса требуется. С другой стороны, язык строгий и сделан для людей, так что дальше всё пойдёт гладко.

Java, несмотря на родство с C#, сделана не для людей с её equals для строк, отсутствием перегрузки операторов, обязательным описанием исключений и прочими искусственными проблемами.

За предложения начинать обучение с PHP я бы расстреливал. Это самый ужасный из мейнстримовых языков. Он навечно испоганен своей историей и ориентацией на новичков, и уже никогда не выберется со дна. Что разрабы не смогли написать PHP6 с поддержкой банального юникода и просто забили на разработку — яркий показатель.

JavaScript — язык сам в себе, больше вы такого нигде не найдёте. Начинать с него обучение смысла нет, потому что перейти на изучение других языков будет сложнее, да и прототипный ООП в мозги упихать сложнее.

На рекомендации Wise Dragon я бы забил, потому что функциональные языки — это модно, но мало кому нужно. Советы изучать мертворождённые и ископаемые языки, разумеется, тоже нельзя воспринимать всерьёз.

lottir писал: Хотите быть в тренде- extjs. Многие хвалят за очень приятную и лёгкую работу с кодом.
Лолшто? Худшего сочетания, чем скриптовый язык и недодекларативные портянки конфигов на мегабайты, найти сложно. Сделайте меня развидеть это. Да и какой это тренд? Это набор контрольчиков "грид и остальное" для клепания однообразных энтерпрайзовых админок.

Siorinex писал: при этом если Паскаль и Дельфи хоть и слабо, но востребованы
В большинстве случаев они востребованы ископаемыми компаниями, в которых никто не захочет работать, и которым требуются совсем не новички, а профи для поддержки софта, старого как навоз мамонта, на древних версиях сред разработки. Не нужно питать иллюзий, Дельфи мертва, и Эмбаркадера только закапывает её всё глубже.

 
 
 
Wise Dragon
Тентакледракон
Сообщений: 7606

06.01.2014 12:11
Инфо | цитировать | линк
Аthаri писал: ИМХО, Бейсик и Паскаль/Дельфи для обучения совершенно равноценны...
Советы изучать мертворождённые и ископаемые языки, разумеется, тоже нельзя воспринимать всерьёз.
Дельфи мертва
Сам себе противоречишь?

В принципе можно начать изучать и с C#
Переусложнённый язык. навязывающий ООП даже туда где оно сто лет не нужно? Если уж начинать с одного из известных C-подобных языков, то с собственно C, так как C++, C# и Java. Но тогда желательно сразу и основы ассемблера.

Кстати как раз с ассемблера можно и начать — язык довольно простой и вместе с тем очень мощный. А для переносимости кода, писать его можно под DOSBox.

Аthаri писал: но мало кому нужно.
Ты хоть один функциональный язык освоил? А почему преподаватели в MIT с тобой не согласны и преподают язык Scheme? И книга у них есть одна из самых лучших и самых известных по программированию — SICP.

Вообще, какая разница, с какого языка начинать? Достаточно, чтоб это была не энтерпрайзная поделка типа C# или жабы и не фекалии мамонта типа бейсика.

А распространённый он или нет — не важно, до тех пор, пока есть хорошая литература и документация.

 
 
 
Jabberсвободное общение!
~
Незарегистрирован

Сообщений: 6733

06.01.2014 12:24
Инфо | цитировать | линк
Аthаri писал: JavaScript — язык сам в себе, больше вы такого нигде не найдёте
Lua и ActionScript негодуэ.

Аthаri писал: прототипный ООП в мозги упихать сложнее
Если только изначально забить себе мозги «правильностью» классового подхода к ООП.

 
 
 
Рыцарь унылого образа
Raptor-Black
Чёрный-Раптор
Сообщений: 6394

06.01.2014 16:28
Инфо | цитировать | линк
~ писал(а): Если говорить о «взрослом» геймдеве
Я собираюсь работать с UDK . То-есть игровой движок
писать не надо. Так как смысла нет. Я уже участвовал в пржектах в стиле *Я нарисую ядро*, и все как обычно били себя пяткой в грудь и рвали тельняшку на зебре.
И как обычно на 15% прожект просто помирал от разрыва мозга программера.
Сколько раз говорил им, вот уже есть! Для не коммерческих проектов! UDK, C3 Engine, Uniti. (Для коммерции надо лицензию покупать +- 2 000 000 зелёных Франклинов)

 
 
 
FurCode1.4: FD[Динозавр-Чёрный-Раптор]cp35asw A !C- D++++/
Morflot
Лис
Сообщений: 24

06.01.2014 20:44
Инфо | цитировать | линк
Raptor-Black писал: Я собираюсь работать с UDK
Тогда, если верить Overview из UnrealScript Language Reference, следующим шагом должен быть более тяжелый нар Java. Хотя, наверное, тут я Америки не открываю?.. /:)

 
 
 
.
 

Сообщений: 1763

06.01.2014 21:06
Инфо | цитировать | линк
Сам себе противоречишь?
Wise Dragon, есть немного. В меня изначально впихивали паскаль, так что я к нему несколько терпим. Плюс у дельфи при всём помирании остаётся преимущество, что она очень близка к современным мейнстримовым языкам (которые сейчас ну очень часто воруют фичи друг у друга, скоро отличить будет сложно) — ближе того же оберона. То есть знания с большой веротяностью не вылетят в трубу.

Переусложнённый язык. навязывающий ООП даже туда где оно сто лет не нужно?
Отсутствие глобальных функций — это чушь в угоду моде, согласен. Но если смириться с лишней строкой класса (по сравнению с плюсами) и лишней строкой метода (по сравнению с питоном), то не так уж смертельно. Мелкие программки ты не отличишь (если не страдать растановкой областей видимости и прочими опциональными атрибутами). Плюс в новой версии обещают ещё и "using System.Console" (импорт методов статических классов), хоть со стороны использования будут глобальные функции.

Вообще, не понимаю обвинений в энтерпрайзовости. От этого аспекта жабы в шарпе как раз обычно стараются избавиться — что в языке, что во фреймворках и библиотеках.

Ты хоть один функциональный язык освоил? А почему преподаватели в MIT с тобой не согласны и преподают язык Scheme? И книга у них есть одна из самых лучших и самых известных по программированию — SICP.
Если найду хоть один повод изучить функциональный язык, то изучу. Читал-то много, но никакой задачи нет, где ФП будет естественно, а не костылём.

В MIT много чего преподают. Scheme, я так понимаю, только на одном из курсов? В жизни не поверю, что подобная лисповщина широко распространена, несмотря на митовские же истоки.

Lua негодуэ.
Шушик, Люа — это как бы мелкая легковесная фиговина для мелких скриптиков. Или я отстал от жизни, и на на люа пишут огромные и сложные системы?

Если только изначально забить себе мозги «правильностью» классового подхода к ООП.
Миллионы мух не могут ошибаться! :p Судя по тому, что большинство популярных языков копипастит одну и ту же ООПную модель, а прототипы лежат без дела, народу, видимо, больше нравятся классы. Да и в новый жабоскрипт классы добавляют, потому что всех задолбал зоопарк библиотек, имитирующих привычные классы.

 
 
 
~
Незарегистрирован

Сообщений: 6733

06.01.2014 22:33
Инфо | цитировать | линк
Аthаri писал: Миллионы мух не могут ошибаться
Это не аргумент в пользу того, что классы проще прототипов. Они всего лишь привычнее в силу ряда причин.

 
 
 
Рыцарь унылого образа
Wise Dragon
Тентакледракон
Сообщений: 7606

06.01.2014 22:55
Инфо | цитировать | линк
Аthаri писал: То есть знания с большой веротяностью не вылетят в трубу.
Обучение программированию нужно для понимания общей идеи, а не зазубривания какого-то конкретного языка. Знания любого конкретного языка бесполезны, если ты не собираешься активно на нём писать, так что не стоит и беспокоиться о том, что "знания вылетят в трубу" — они в любом случае вылетят, если ты перейдёшь на другой язык. Важны не знания, а алгоритмическое мышление.

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

Для этого лучше всего будет максимально простой язык, для которого доступна подходящая обучающая литература. Такие языки — это специальные языки для обучения программированию (например LOGO и Scratch) и некоторые языки, которые просты в силу различных причин. К таким относится Lua — да, именно мелкая легковесная, к тому же часто используемая в геймдеве, к ней есть кроме литературы замечательные фреймворки INSTEAD (в основном квесты) и Love2d (всякий там экшн и платформеры). И самый большой плюс — этот язык ещё и позволяет использовать функциональную парадигму.

Ещё есть Tcl, Squirrel и несколько стандартных языков — dc, bc, awk и подобные.

Ну и Scheme и другие лиспы ещё.

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

 
 
 
Jabberсвободное общение!
~
Незарегистрирован

Сообщений: 6733

06.01.2014 23:20
Инфо | цитировать | линк
Wise Dragon писал: И самый большой плюс — этот язык ещё и позволяет использовать функциональную парадигму.
По-моему, самый большой плюс Lua состоит в том, что для цели, обозначенной Raptor-Black`ом она подходит как нельзя лучше.

 
 
 
Рыцарь унылого образа
.
 

Сообщений: 1763

06.01.2014 23:25
Инфо | цитировать | линк
Это не аргумент в пользу того, что классы проще прототипов. Они всего лишь привычнее в силу ряда причин.
Шушик, если что-то привычнее, понятнее и распространённее, то оно по факту проще, не? Может, и из-за каких-то внешних условий, но дела-то это не меняет. Впрочем, не пробовал "неиспорченных ООПом" школьников обучать JS, так что фиг знает.

Вообще, ты можешь мне показать пример, где от прототипов будет реальная польза? Вот сколько кода на JS видел — все в той или иной мере сводят прототипы к тем же классам (пользуются или нет костыльными библиотеками — без разницы). В результате непонятно, зачем вообще весь сыр-бор.

Смысл изучать сразу какой-то энтерпрайзный язык — это только если ты хочешь заняться быдлокодерством или тебе что-то конкретное нужно. Иначе лучше взять какой-нибудь совсем другой язык.
Wise Dragon, какие объективные причины изучать левый язык, а не Python, VB, C# и иже? Они энтерпрайзовые в том плане, что на них пишут крупные системы, но наглядности и лаконичности они от этого не теряют (если не ударяться в перфекционизм и не считать символы, конечно).

Почему не изучать эти самые "общие идеи" и развивать "алгоритмическое мышление" на языках, с которыми велик шанс столкнуться в реальности?

 
 
 
~
Незарегистрирован

Сообщений: 6733

07.01.2014 00:02
Инфо | цитировать | линк
Аthаri писал: по факту проще, не?
Не.

Аthаri писал: Вообще, ты можешь мне показать пример, где от прототипов будет реальная польза?
На основе чего и как выявлять пользу?

Предпочтения программистов, которые изначально учились на языках с классовым подходом к реализации ООП и теперь используют «костыли» потому что не способны переключать мозг на особенности языка с другим подходом — это чистой воды субъектив.

«Поддерживаемость проекта» и «читаемость кода», на которые нынче модно онанировать, — по большей части тоже. Я и на «write-only Perl» воочию видел большие проекты с читаемым и поддерживаемым кодом. В том числе без ООП вообще и с огромным количеством регулярных выражений. А модный Python после трех лет работы с проектами на нем, мягко говоря, недолюбливаю.

Метрики и тесты? Ну, когда в JavaScript будут реализованы классы, тогда можно будет и намерять что-нибудь цифиреобразное.

 
 
 
Рыцарь унылого образа
.
 

Сообщений: 1763

07.01.2014 01:15
Инфо | цитировать | линк
На основе чего и как выявлять пользу?
Шушик, хочу увидеть качественный и немаленький код, в котором прототипы используются не для имитации классов, то есть чтобы не было тривиального преобразования туда-обратно, и в использовании прототипов есть практический смысл, то есть чтобы это не было зарядкой для ума и понтованием на пустом месте. Идеалов не надо, я просто хочу что-то осязаемое.

Я и на «write-only Perl» воочию видел большие проекты с читаемым и поддерживаемым кодом. В том числе без ООП вообще и с огромным количеством регулярных выражений.
От культуры зависит. Просто если ничего не ограничивает, то у некоторых возникают позывы писать write-only код. Отсюда и регулярки, которые почти всегда пишутся в одну строчку без пробелов, хотя все нормальные библиотеки поддерживают полноценный синтаксис. Ещё всякий мусор типа verbal expressions выдумывают, чтобы насильно загнать себя в рамки.

 
 
 
~
Незарегистрирован

Сообщений: 6733

07.01.2014 01:30
Инфо | цитировать | линк
Аthаri писал: хочу увидеть качественный и немаленький код, в котором прототипы используются не для имитации классов
Что такое «имитация классов» и чем она отличается от обычного использования прототипов для реализации ООП?

 
 
 
Рыцарь унылого образа
.
 

Сообщений: 1763

07.01.2014 09:23
Инфо | цитировать | линк
~ писал(а): Что такое «имитация классов» и чем она отличается от обычного использования прототипов для реализации ООП?
Написал же: "То есть чтобы не было тривиального преобразования туда-обратно". Посыл как раз в том, что "обычное использование прототипов" — это и есть имитация классического ООПа, только с зоопарком странных форм записи.

 
 
 
~
Незарегистрирован

Сообщений: 6733

07.01.2014 09:38
Инфо | цитировать | линк
Аthаri писал: имитация классического ООПа
Следующий.

 
 
 
Рыцарь унылого образа
.
 

Сообщений: 1763

07.01.2014 11:24
Инфо | цитировать | линк
~ писал(а): Следующий.
То есть наглядной демонстрации достоинств прототипов мне не ждать?

 
 
 
Wise Dragon
Тентакледракон
Сообщений: 7606

07.01.2014 12:12
Инфо | цитировать | линк
Аthаri писал: Wise Dragon, какие объективные причины изучать левый язык, а не Python, VB, C# и иже? Они энтерпрайзовые в том плане, что на них пишут крупные системы, но наглядности и лаконичности они от этого не теряют (если не ударяться в перфекционизм и не считать символы, конечно).
Во-первых, причём тут Python? Вполне себе нормальный язык по сравнению с остальными перечисленными, хотя местами конечно уродлив. Вот почему в нём конкатенация строк обозначается тем же символом, что и сложение?

А C++, Java, 1С, C#, VB и Cobol — это ужас, летящий на крыльях ночи, от которого вообще лучше держаться подальше, если тебя на работе не загоняют за него плёткой из стальных тросиков. Естественно, для начального обучения программированию оно подходит не больше чем дилдо с стальными шипами для демонстрации использования презерватива. Расположены приблизительно в порядке возрастания ужасности.

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

но наглядности и лаконичности они от этого не теряют (если не ударяться в перфекционизм и не считать символы, конечно).
То есть если код на каком-нибудь C# занимает две сотни строк, а делает то же самое, что я пишу одной строчкой на баше — это наглядности и лаконичности не теряет?

А если уж на то пошло, для сложных проектов неплохо подходит любой язык.

 
 
 
Jabberсвободное общение!
Dr. Jet Cheshirsky
ксарн
Сообщений: 4780

07.01.2014 12:26
Инфо | цитировать | линк
Аthаri писал: Люа — это как бы мелкая легковесная фиговина для мелких скриптиков. Или я отстал от жизни, и на на люа пишут огромные и сложные системы?
Огромные - нет. Сложные - да. Весь обвес для комфортной игры в ВоВ, к примеру, написан на LUA - от простейших интерфейсов до статистико-аналитических движков для аукционных брокеров.

 
 
 
Veni Vidi Violari - (лат.) Пришёл, увидел, отйиффал. (С)
.
 

Сообщений: 1763

07.01.2014 14:14
Инфо | цитировать | линк
Энтерпрайзность — это не "пишут сложные проекты", а переусложнённость языка в угоду маркетингу — множество противоречащих друг другу возможностей, многословность, необходимость использовать сложные конструкции для простых и часто используемых вещей.
Wise Dragon, да ладно?

using System;

class Program
{
static void Main()
{
Console.WriteLine("Hello world!");
}
}

Если не считать маразматичного "class Program", то код идеально чистый. Ну да, есть ещё "void Main", но это уже вкусовщина.

В общем, привёл бы примеры по сути. Образных выражений я уже наслушался. Если тебе нравится питон, то и приведи код на питоне, который на шарпе будет "в двести раз длиннее".

Короче, давай нормально холиварить, а не переливать из пустого в порожнее.

То есть если код на каком-нибудь C# занимает две сотни строк, а делает то же самое, что я пишу одной строчкой на баше — это наглядности и лаконичности не теряет?
Ну ты вообще пример привёл. "Баш" — это по сути зоопарк тьмы программ, у каждой десятки или сотни аргументов. Причём все предпочитают однобуквенные аргументы. Регулярные выражения на допинге.

Если уж сравнивать баш, то сравнивать с PowerShell. Ну да, более многословно, не напишешь в одну "магическую" строчку закат солнца вручную. Зато есть продуманная архитектура (полноценные объекты, а не парсинг текста регулярками) и единообразие (именование команд, аргументов и прочего).

Dr. Jet Cheshirsky писал: Огромные - нет. Сложные - да. Весь обвес для комфортной игры в ВоВ, к примеру, написан на LUA - от простейших интерфейсов до статистико-аналитических движков для аукционных брокеров.
Есть сложность "в ширину" (независимые классы и однообразные объекты), есть сложность "в глубину" (сложная иерархия, взаимодействие и т.п.). В ВоВе сложность люа всё-таки в ширину в основном. Сложные аналитические аддоны в меньшинстве. Хотя было бы любопытно их сорцы глянуть.

 
 
 
Wise Dragon
Тентакледракон
Сообщений: 7606

07.01.2014 14:48
Инфо | цитировать | линк
Аthаri писал: Ну да, более многословно, не напишешь в одну "магическую" строчку закат солнца вручную. Зато есть продуманная архитектура (полноценные объекты, а не парсинг текста регулярками) и единообразие (именование команд, аргументов и прочего).
Я тоже вначале в это верил, а потом как-то поковырял Windows 7. Начать с того, что окно с этим повершеллом запускается чуть ли не полминуты, во вторых после каждой команды тормозит как тот же баш, но по ssh через GPRS. Это не говоря уже об отсутствии вкладок.

Ну и сам язык оказался гораздо хуже баша на практике.

Аthаri писал: Короче, давай нормально холиварить, а не переливать из пустого в порожнее.
ОК, выбираем задачу. Я пишу решение на Tcl, bash или ещё чём-нибудь, ты на PS или C# или VB.

Можно взять решето Эратосфена до миллиарда.

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

Задача должна быть не слишком простая, но и не слишком сложная. То есть не фиббоначи и не хелловорд, но и не "написать эпический 3D экшн с сотней локаций"

Аthаri писал: Если тебе нравится питон, то и приведи код на питоне, который на шарпе будет "в двести раз длиннее".
Он мне не нравится, но им по крайней мере можно писать.

Аthаri писал: да ладно?
Сравни с

#!/usr/bin/env python
print "Hello world!"
На питоне. Причём первая строчка даже не обязательна.

И это только хелловорд.

А насчёт кода, ну пусть будет вот это:

package require Tk
foreach {p} {7 2 10 11 5 4 9 12 13 8 3 14 15 1 6} {i} {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14} {
button .$p -relief solid -bd 1 -width 8 -height 4 -text $p -command "move $p"
grid .$p -row [expr {$i/4}] -column [expr {$i%4}] -padx 1 -pady 1}
proc move {b} {
lassign [list [dict get [grid info .$b] -column] [dict get [grid info .$b] -row]] x y
foreach {ix iy} {0 -1 0 1 -1 0 1 0} {
lassign [list [expr {$x+$ix}] [expr {$y+$iy}]] i j
if {$i>=0 && $i<=3 && $j>=0 && $j<=3 && ![llength [grid slaves . -col $i -row $j]]} {
grid configure .$b -column $i -row $j}}}


Это весь код игры в пятнашки, причём графической и которая будет работать даже на Windows Mobile.

Или вот ещё один пример

 
 
 
Jabberсвободное общение!
Morflot
Лис
Сообщений: 24

07.01.2014 16:53
Инфо | цитировать | линк
А если цель - Java-подобный (если верить разработчикам UDK) язык, то как к этой вершине лучше двигаться?

Прямо с Java начать?

Как-то не было повода задуматься :/

 
 
 
Koshachii
лисенок
Сообщений: 907

07.01.2014 17:11
Инфо | цитировать | линк
Ужась, что за мода учить самолетостроение через паровозостроительство. Если хочешь строить самолеты, то и начинай сразу с самолетов.
Если цель - использование UDKScript для дальнейшей разрабоки игры, то именно с его изучения надо и начинать, а не забивать голову ненужным мусором вроде Ассемблера, Бейсика и другими различными академическими языками-игрушками, которые в живой природе уже не встретить.

 
 
 
Wise Dragon
Тентакледракон
Сообщений: 7606

07.01.2014 17:36
Инфо | цитировать | линк
Koshachii, изучать самолётостроение надо начинать не с самолётов, а с сопромата, механики и гидроаэродинамики.
 
 
 
Jabberсвободное общение!

Форум yiff.ru >> Бейсик и все все всеСтраницы: [<<<][ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ..14 ][>>>]
 
Новое сообщение
Ваш ник
Пароль (если вы зарегистрированы)
Вложение
Добавить еще одно поле для файла
Сообщение

[ Смайлики ]
[ Ubb теги ]
Проверочный код
 
 
  © Justin, Dimoniusis and Jar