Jass для Айтишника
|
|
Ilusha | Дата: Четверг, 16 Августа 2012, 19:23:06 | Сообщение # 1 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| Появилась одна идея: есть знакомые хорошо владеющие программированием, дак вот можно ли подсунуть им несколько статей (не огромные тома) по жасу и чтобы они были уже в состоянии писать на нем (не высший пилотаж, но что-то) или всетаки отличие большое и чтобы они могли что-то сделать нужно их заставить "курить мануалы" долгими летними вечерами?
|
|
|
|
Ty3uK | Дата: Четверг, 16 Августа 2012, 19:34:36 | Сообщение # 2 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| если курит матчасть программирования, то говно вопрос
|
|
|
|
Ilusha | Дата: Четверг, 16 Августа 2012, 20:15:52 | Сообщение # 3 |
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 295
Блокировки:
| какие статьи лучше будут и содержательнее и компактнее
|
|
|
|
Ty3uK | Дата: Четверг, 16 Августа 2012, 20:17:24 | Сообщение # 4 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| на хгм цикл статей
|
|
|
|
Hexing | Дата: Четверг, 16 Августа 2012, 21:41:07 | Сообщение # 5 |
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
| Ilusha, имхо тут больше не программирование, а знание редактора и триггеров(гуи сойдёт) начинают все с этого
|
|
|
|
SirNikolas | Дата: Пятница, 17 Августа 2012, 08:40:39 | Сообщение # 6 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| ^ +1 В этой статье разбирается преимущественно синтаксис - то есть то, что надо программисту, незнакомому с Редактором. Можно поискать подобные англоязычные статьи.
|
|
|
|
Aloof | Дата: Суббота, 18 Августа 2012, 00:08:53 | Сообщение # 7 |
5 уровень
Группа: Проверенные
Сообщений: 107
Награды: 0
Репутация: 14
Блокировки:
| У меня была похожая ситуация. Скажу сразу, что без интереса к самой игре я бы и за деньги не согласился возиться с JASS'ом, ибо с профессиональной точки зрения тут все просто чудовищно: здесь нет ни какой бы то ни было системы контроля версий, у****ный стандартный редактор (в моем случае выбора особого нет; тут нет и близко уважения к JASS-разработчикам, о каком бы то ни было автокомплите и мечтать не приходится, очень многое завязано на редактирование через чертов GUI хотя бы с целью отредактировать глобальную переменную), нет никакой _официальной_ документации и мануалов, приходится смотреть в разные источники, которые порой противоречат другу, сам по себе чистый JASS --- полное говно с кучей неудобств (процедурный язык, очень слабая поддержка массивов, неудобные ограничения на переводы строк, отсутствие даже побитовых стандартных операций, отсутствие нормальных циклов и много чего другого), говна добавляют BJ-функции, которые вставляются GUI (в особенности, когда создается функция, которая, например, просто переставляет аргументы местами, в духе лучшего говнокода сделана попытка генерировать код без утечек и т.п.), очень неудобно организована отладка (без использования оптимизаторов карта долго загружается, к слову), непродуманный API и много чего другого, я все вспомнить и не смогу.
|
|
|
|
Naturekid | Дата: Суббота, 18 Августа 2012, 00:18:25 | Сообщение # 8 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Прямо музыка для ушей. Продолжайте маэстро, продолжайте. Что ещё мы должны знать про Jass?
|
|
|
|
SirNikolas | Дата: Суббота, 18 Августа 2012, 07:52:35 | Сообщение # 9 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Naturekid, не беспокойся, GUI еще хуже.Quote (Aloof) отсутствие нормальных циклов Циклы как раз очень даже нормальные. Можно ставить exitwhen где (и сколько) хочешь.
|
|
|
|
Aloof | Дата: Суббота, 18 Августа 2012, 13:29:53 | Сообщение # 10 |
5 уровень
Группа: Проверенные
Сообщений: 107
Награды: 0
Репутация: 14
Блокировки:
| Quote (SirNikolas) Можно ставить exitwhen где (и сколько) хочешь. Это необязательно должно быть плюсом. Читать код со злоупотреблением этого — сомнительное удовольствием, приятнее те же while, do ... while. Очень грустно без for; нет ничего типа foreach.
Вот, кстати, еще вспомнил, что нет замыканий. Только представьте насколько удобно было бы задавать функцию таймеру без потери контекста типа Code timer->setTimeout(42)->start(function(timer) use (unit1, unit2) { unit1->kill(unit2); });
|
|
|
|
Ty3uK | Дата: Суббота, 18 Августа 2012, 13:49:18 | Сообщение # 11 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| в последнем адике есть эти циклы (кроме форич) и там же можно бреак вместо экситвен юзатьДобавлено (18 Августа 2012, 13:49:18) --------------------------------------------- а после замыканий код будет полностью нечитабельным говном
|
|
|
|
Aloof | Дата: Суббота, 18 Августа 2012, 14:00:53 | Сообщение # 12 |
5 уровень
Группа: Проверенные
Сообщений: 107
Награды: 0
Репутация: 14
Блокировки:
| Ну опять-таки я говорю о стандартных возможностях и в силу того, что только помогаю в поддержке одной старой карты с кучей кода, то вариант с альтернативным редактором всерьез не рассматриваю.
О замыканиях — чувствую затронул что-то личное.
|
|
|
|
Ty3uK | Дата: Суббота, 18 Августа 2012, 14:16:23 | Сообщение # 13 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| отнюдь, я писал в борланд спп
|
|
|
|
Aloof | Дата: Суббота, 18 Августа 2012, 14:39:53 | Сообщение # 14 |
5 уровень
Группа: Проверенные
Сообщений: 107
Награды: 0
Репутация: 14
Блокировки:
| Ну вот я и говорю — затронул что-то личное. На примере личного опыта с C++ сделал вывод. Я даже и не работал с C++11 — неужели Borland его уже поддерживает?
Лучше тут делать сравнение с Java/C#, там можно почувствовать насколько это удобно. Ну, или другой пример: сортировка массива с собственным callback'ом — тоже прекрасно подходит. Без замыкания этот callback будет определяться где-то в другом месте, что наоборот только снизит читабельность.
|
|
|
|
Ty3uK | Дата: Суббота, 18 Августа 2012, 16:02:32 | Сообщение # 15 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| в шарпе практически не юзаю замыкания пока живойДобавлено (18 Августа 2012, 16:02:32) --------------------------------------------- и, бтв, борланда уже давно нет
|
|
|
|
Aloof | Дата: Суббота, 18 Августа 2012, 16:49:40 | Сообщение # 16 |
5 уровень
Группа: Проверенные
Сообщений: 107
Награды: 0
Репутация: 14
Блокировки:
| Трудно возразить против аргумента "я не использую, мне не надо".
|
|
|
|
Ty3uK | Дата: Суббота, 18 Августа 2012, 17:02:06 | Сообщение # 17 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| ну так это я к тому, что вопрос личный
|
|
|
|
xomach | Дата: Вторник, 21 Августа 2012, 07:45:51 | Сообщение # 18 |
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
| К сожалению, джасс ужасен и не имеет ничего общего с ныне известными языками программирования(c, pascal), так что айтишник тут бесполезен, можешь выкидываьб
|
|
|
|
Hexing | Дата: Вторник, 21 Августа 2012, 08:43:27 | Сообщение # 19 |
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
| джасс скриптовый язык, а не язык программирования, так что все ваши замечания сходят на нет, не нравится - пишите свой варкрафт 4 где будет хороший скриптовый язык, не?
|
|
|
|
xomach | Дата: Вторник, 21 Августа 2012, 09:43:19 | Сообщение # 20 |
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
| я просто написал, что знание я.п. и соотв. тип мышления бесполезны.
|
|
|
|
SirNikolas | Дата: Вторник, 21 Августа 2012, 09:58:06 | Сообщение # 21 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Отнюдь. Напиши, что есть в C (Pascal я плохо знаю) такого, чего нет в JASS и что мешает его понять? Кроме распределения памяти.
|
|
|
|
Naturekid | Дата: Вторник, 21 Августа 2012, 10:19:50 | Сообщение # 22 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Quote (xomach) я просто написал, что знание я.п. и соотв. тип мышления бесполезны. Вот это чушь. Если ты дружишь с математикой и логикой(а для программиста это обязательный фактор), то подобный "тип мышления" тебе везде поможет, не только в редактировании карт.
К тому же, я заметил что некоторый функции cjass имеют немало общего с функциями дядьки Борланда.
|
|
|
|
SirNikolas | Дата: Вторник, 21 Августа 2012, 10:20:59 | Сообщение # 23 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Naturekid) дядьки Борланда. C/C++ не обязательно Borland'овский.
|
|
|
|
Naturekid | Дата: Вторник, 21 Августа 2012, 10:25:35 | Сообщение # 24 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Зная матем, имея представление о работе переменных и умея определять схожие команды во всё этом(Например exit в Delphi, Skip raemaing actions в GUI, exit... какой-то там в jass) - разобратьсЯ не так уж трудно. Можно зашарить даже в скриптово языке Homm WoG с их идиотской математикой. Добавлено (21 Августа 2012, 10:25:35) --------------------------------------------- SirNikolas, ну скажем так .create - так точно что-то творилось в старом добром Delphi,я давным давно егоо забросил
|
|
|
|
Dreii | Дата: Вторник, 21 Августа 2012, 10:28:47 | Сообщение # 25 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| Кстати,я забыл, в JASS'е есть метки?
|
|
|
|