Личный кабинет

DBI-Builder - Суржи

подойдет ли для обучения программированию?
Алексей Кормилкин ( Пользователь )
Цитата (Юрий Копнин, 29.08.2011, 22:35) <{POST_SNAPBACK}>
Ну как вам сказать Алексей, зачем разрабатывают? Нельзя мерить всё коммерческими перспективами. Когда художник рисует картину, он о перспективах и о том что другие картины есть не думает.
Раз уж вопрос в этой теме, видимо можно считать как вопрос, зачем я всё это сделал? Во первых получил удовольствие. Во вторых сделал инструмент, с помощью которого пишу программы, которые меня кормят. В третьих, клиенты этими программами довольны, т.к. благодаря гибкой среде, у них есть возможность сопровождать эти программы самостоятельно своими силами и для этого им не нужно покупать среду разработки (особенно актуально в бюджетных конторах).
Это конечно уже пошла тема не этого форума, тем не мение, если вам действительно интересно, в чем я сомневаюсь, могу написать, вернее дать ссылку, где есть история как всё это началось и как я к этому пришел. Да и сложно сказать что это новый язык, в нем ничего нового на самом деле нет. DIzer правильно подметил:

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


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

Юрий, художник, рисуя картины для себя не пытается при этом учить детей. Вы же пришли с вопросом, перспективны ли Ваши разработки для целей обучения. мое мнение - нет, при этом, заметьте, свое мнение я Вам не навязываю )) возможно, кто-то заинтересуется Вашими разработками в средней или высшей школе.
Удачи!
Дмитрий Изергин ( Пользователь )
Цитата (Юрий Копнин, 29.08.2011, 22:35) <{POST_SNAPBACK}>
так всё и есть, Суржи - тюнинг на паскаль сделанный исходя из моих вкусов...


Вот, а теперь представьте себе, обычную (для "классического" Вуза - университета) ситуацию..

1. На первом курсе, студента в первую очередь, требуется научить ГРАМОТНО алгоритмизировать типовые задачи(вкупе с изучением базовых алгоритмов и структур данных) - понятно, что формально для этой цели подойдет фактически любой современный ЯП (Си,Паскаль , Питон, Ява , и Суржи) - конечно, если пренебречь "трудозатратами" на обучение (как со стороны преподавателя , так и студента).

2. Начиная со 2 курса, начинаются приближенные к "реальности" задачи - системное программирование, интернет технологии, БД и что мы видим? - практически востребованы технологии на основе Си- подобных языков (Ява, Питон, СИ,СИ++, PHP, JS). Вследствие этого, недовольство коллег, которые ведут старшие курсы, вполне естественно (в любом случае, потеря времени на изучение нового синтаксиса имеет место быть).

3. Последние 2 года имеем РЕЗКОЕ ухудшение качества образования поступивших на специальности ИТ абитуриентов (причин этому много),самая страшная проблема с ними - они совершенно не приучены к самостоятельной работе (делать дома задания). Спрашиваю у учителей школ - смотрят как на больного, говорят с луны свалился - это уже норма лет как 7 .Отсеивать студентов , нельзя у нас "подушка", но справедливости ради нужно сказать, по большей части от нас студенты уходят сами - к юристам, экономистам , социологам - и живут там припеваючи - с пятерки на четверку (на мехмате - они едва ли имели что -то выше тройки с третьей попытки). Так что, для того, чтобы давать Си (Си++) - необходимо затратить значительные усилия...

4.Последний фактор - преподаватели. На начальных курсах практику ведут в основном молодые - аспиранты. Почти каждый из них имеет "реальный" опыт в работы в "реальной " конторе, с "реальным" ЯП, и над "реальными" проектами. Но с "реальной" техникой(методологией) работы со студентами, пониманием ситуации небольшие напряги (обычно дело заканчивается либо пофигизмом, либо попытками "зачистить" Вуз от недостойных элементов - что жестоко пресекается "старшими" товарищами)...И просто так для них поменять самостоятельно ЯП (адаптировать существующий курс на другой ЯП), дело крайне трудозатратное.


Зная ситуацию (в общих чертах) с "классическими" Вузами - Вы можете сами оценить пригодность текущей версии своей разработки применительно к обучению началам программирования в университетах...
Юрий Копнин ( Пользователь )
Я понял так, что сложилось впечатление, что система имеет исключительно язык, пример кода которого я привел в примере.
Дело в том, что система не ограничивается языком Суржи с русской транскрипцией. В системе имеется 4 возможных варианта разработки проектов:
1) Object Pascal (Delphi совместимый)
2) Object Pascal с русской транскрипцией
3) Суржи
4) Суржи с русской транскрипцией

Первый вариант, в большей степени совместим с Delphi. В комплекте с системой, идут примеры на Object Pascal портированные с Delphi. Это игра тетрис, фрактальная графика. Я даже не представляю как они работают, я скопировал код из Delphi, подправил часть кода, связанную с перегрузкой процедур и функций, т.к. пока перегрузка не поддерживается, и всё это заработало, мне даже не пришлось переписывать дельфийский код.
Пример с OpenOffice работает вообще без переделок в DBI-Builder и в Delphi, можете проверить скоприровав код в Delphi (а вот в Lazarus с OLE косяк, он не понимает когда методы относятся к интерфейсу IDispatch).
Мне не известны (кроме Lazarus) еще более близкие(совместимые по коду и интерфейсу) c Delphi системы (или во всяком случае они уже не поддерживаются). Думаю Lazarus подогнать под обучающую систему будет куда сложнее... А в DBI-Builder, кроме совместимого с Delphi языка, я предложил русифицированные варианты, посчитав, что это будет плюсом...
Проблем с переходом от DBI-Builder к Delphi и обратно, учитывая совместимость и схожесть интерфейса, быть не может...
Станислав Михалкович ( Пользователь )
Цитата (Юрий Копнин, 31.08.2011, 21:00) <{POST_SNAPBACK}>
Я понял так, что сложилось впечатление, что система имеет исключительно язык, пример кода которого я привел в примере.
Дело в том, что система не ограничивается языком Суржи с русской транскрипцией. В системе имеется 4 возможных варианта разработки проектов:
1) Object Pascal (Delphi совместимый)


А скажите, в чем подвох?

Правильно ли я понимаю, что Вы реализовали полный компилятор язык Delphi образца, скажем, 2010 года, а также оболочку, по базовым возможностям не отличающуюся от Delphi, и всё это совершенно бесплатно и лицензионно чисто?
Юрий Копнин ( Пользователь )
В основе интерпретатор, поэтому полной совместимости и поведения, конечно добиться не удастся, но на сколько было возможно, я постарался максимально приблизить к Delphi. Система задумывалась как среда для разработки гибких приложений (как альтернатива 1С), для внесения изменений в которые не нужна перекомпиляция приложения (компиляция во внутренний формат происходит при запуске приложения). Компоненты задающий весь функционал системы: дизайнер, инспектор, редактора кода, интерпретатор - собственные, разрабатывается всё в лицензионной Delphi. Исходные коды сторонних коммерческих компонент, в комплект поставки не входят, пользователю их нужно либо иметь, либо отключить. В откомпилированной версии, функционал этих компонент ограничен (отключены часть редакторов). Продавать это всё - бессмысленно, т.к. разработка систем автоматизации, в той-же среде, приносит гораздо больший доход.
Станислав Михалкович ( Пользователь )
Цитата (Юрий Копнин, 01.09.2011, 09:30) <{POST_SNAPBACK}>
В основе интерпретатор, ...

Понятно.

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

Если позволите - с чем придется столкнуться на мой взгляд.

1. Русские идентификаторы. Тут есть те, кто их любит и те, кто их не любит. Критиковать за это будут и будут говорить, что это хорошо.
2. ООП и среда визуальной разработки. Многие учителя это не используют - у них мало времени на изучение программирования, и это предпочитают выбрасывать. Да и ООП здесь не в почете - многие считают, что это школьникам не надо. Правда, высказываются всё активнее и противоположные точки зрения. И многие считают, что среда быстрой разработки - это хорошо.
3. Свой язык и любое отклонение от стандарта какого-то языка будут восприниматься плохо. У нас язык PascalABC.NET (т.е. мы честно говорит, что это - Object Pascal), но введение в него только одного += вводит многих в штопор. Проблема религиозного догматизма в сфере языков программирования работает очень сильно.
4. Интерпретатор - мы когда-то боялись, что это будет очень плохо воспринято (медленное выполнение программ), но выяснилось, что в школьном программировании это неважно. А в олимпиадах по программированию, где важна скорость, ваш язык не будут использовать.
5. Работа под Linux. Сейчас появился ряд школ, которые работают только под Linux. Будет ли там работать ваша среда устойчиво? Delphi, насколько я понимаю, давно отказалась от генерации кода под Linux. А работа под Wine - за это Вы также будете подвергаться критике за ненативность.
6. Поддержка. Готовы ли Вы осуществлять поддержку вашего продукта бесплатнов течение какого-то промежутка времени и решать проблемы вылетов под взломанной Win 7 ранней версии или под WinXP без SP1 и т.д.? Доработку продукта после того как будет выпущена его первая версия? В течение какого срока - бесплатно?
7. Что есть в вашей среде для обучения, чего нет в других средах? Есть ли какие-то удобные специализированные модули для обучения? Они нужны - обязательно - без этого удобства вряд ли кто на эту систему перейдёт. Поскольку Вы - не учитель, Вам надо получить консультацию квалифицированного учителя - возможно, нескольких. Форум для этого - не лучшее место.
Илья Ермаков ( Пользователь )
По поводу русских ключевых слов (Станислав Станиславович выше назвал "идентификаторы", но речь-то про ключевые слова вроде сейчас?).

Практически всё равно, для учащихся нормального уровня, на каком языке ключевые слова. Потому что они быстро начинают восприниматься как целостные конструкции. Но: для тех, у кого есть трудности, английские слова на начальном этапе - лишний барьер (представьте, что учите 5-классников, как это делал, например, Info21: http://www.inr.ac.ru/~info21/troitsklicej/vtorojetap.htm).

Но есть ещё и вопрос - плюс от родных идентификаторов, он играет и на более "взрослом" этапе программирования - он может ощущаться даже вплоть до стадии реальных проектов, если это проекты типа бизнес-автоматизации, где много прикладной лексики. В общем, плюсы от использования родных имён процедур, переменных и типов имеются - это отмечают, попробовав, даже люди, прекрасно владеющие английским. Но отмечают и неудобство, дискомфорт, если использовать национальные идентификаторы (а это позволяют многие современные инструменты) с латинскими ключевыми словами (переключение раскладки и проч.)
Так что наличие разноязычных вариантов ключевых слов - преимущество. Тем более, если компилятор и среда имеют гибкую архитектуру, то поддержать их - не проблема (http://www.inr.ac.ru/~info21/bb.sh.2010.screens/screen-4.png).
Юрий Копнин ( Пользователь )
Цитата (Михалкович Станислав, 01.09.2011, 20:32) <{POST_SNAPBACK}>
Если позволите - с чем придется столкнуться на мой взгляд.

1. Русские идентификаторы. Тут есть те, кто их любит и те, кто их не любит. Критиковать за это будут и будут говорить, что это хорошо.
2. ООП и среда визуальной разработки. Многие учителя это не используют - у них мало времени на изучение программирования, и это предпочитают выбрасывать. Да и ООП здесь не в почете - многие считают, что это школьникам не надо. Правда, высказываются всё активнее и противоположные точки зрения. И многие считают, что среда быстрой разработки - это хорошо.
3. Свой язык и любое отклонение от стандарта какого-то языка будут восприниматься плохо. У нас язык PascalABC.NET (т.е. мы честно говорит, что это - Object Pascal), но введение в него только одного += вводит многих в штопор. Проблема религиозного догматизма в сфере языков программирования работает очень сильно.
4. Интерпретатор - мы когда-то боялись, что это будет очень плохо воспринято (медленное выполнение программ), но выяснилось, что в школьном программировании это неважно. А в олимпиадах по программированию, где важна скорость, ваш язык не будут использовать.
5. Работа под Linux. Сейчас появился ряд школ, которые работают только под Linux. Будет ли там работать ваша среда устойчиво? Delphi, насколько я понимаю, давно отказалась от генерации кода под Linux. А работа под Wine - за это Вы также будете подвергаться критике за ненативность.
6. Поддержка. Готовы ли Вы осуществлять поддержку вашего продукта бесплатнов течение какого-то промежутка времени и решать проблемы вылетов под взломанной Win 7 ранней версии или под WinXP без SP1 и т.д.? Доработку продукта после того как будет выпущена его первая версия? В течение какого срока - бесплатно?
7. Что есть в вашей среде для обучения, чего нет в других средах? Есть ли какие-то удобные специализированные модули для обучения? Они нужны - обязательно - без этого удобства вряд ли кто на эту систему перейдёт. Поскольку Вы - не учитель, Вам надо получить консультацию квалифицированного учителя - возможно, нескольких. Форум для этого - не лучшее место.

Да, я уже столкнулся с тем что вы описали...
По поводу кроссплатформенности: Delphi XE2 Pulsar уже в продаже, в ней поддерживается разработка приложений под Win32, Win64, MAC, iOS. В следующей версии обещают Linux. Но есть одно но, как я понял VCL на кроссплатформенность не тянет, кроссплатформенность возможна только с FireMonkey. Поэтому можно попробовать оставить только интерпретатор без VCL дизайнера и сделать IDE подогнанную для целей обучения. Я в нашем пединституте проведу небольшой семинар для преподавателей информатики, если тема будет интересна, думаю совместными усилиями положительного результата добьемся... А так, в Wine работает...
По поводу поддержки русского языка: на данный момент возможно русифицировать полностью. Ключевые слова, идентификаторы, базовые типы на русском языке - поддерживаются изначально. Импортированные имена типов частично, но это просто вопрос времени...
По остальным вопросам, на перед загадывать не буду, если заинтересованности преподавателей не найду, одному мне не сделать, поэтому нужно сначала найти поддержку со стороны преподавателей, да и новые возможности Delphi нужно изучить на пригодность к таким целям..
Дмитрий Изергин ( Пользователь )
Цитата (Юрий Копнин, 03.09.2011, 08:47) <{POST_SNAPBACK}>
Да, я уже столкнулся с тем что вы описали...
По поводу кроссплатформенности: Delphi XE2 Pulsar уже в продаже, в ней поддерживается разработка приложений под Win32, Win64, MAC, iOS. В следующей версии обещают Linux. Но есть одно но, как я понял VCL на кроссплатформенность не тянет, кроссплатформенность возможна только с FireMonkey. Поэтому можно попробовать оставить только интерпретатор без VCL дизайнера и сделать IDE подогнанную для целей обучения. Я в нашем пединституте проведу небольшой семинар для преподавателей информатики, если тема будет интересна, думаю совместными усилиями положительного результата добьемся... А так, в Wine работает...
По поводу поддержки русского языка: на данный момент возможно русифицировать полностью. Ключевые слова, идентификаторы, базовые типы на русском языке - поддерживаются изначально. Импортированные имена типов частично, но это просто вопрос времени...
По остальным вопросам, на перед загадывать не буду, если заинтересованности преподавателей не найду, одному мне не сделать, поэтому нужно сначала найти поддержку со стороны преподавателей, да и новые возможности Delphi нужно изучить на пригодность к таким целям..


1. А VCL на начальных этапах обучения (выпускной класс школы, первый курс вуза) только мешает. Гораздо важнее (ИМХО) иметь комфортабельную кроссплатформенную IDE c выверенным ЯП,и по возможности "полным" методологическим комплектом для обучения.


2. На это я и намекаю -создание продукта со "всеми" опциями выходит (по -всей видимости) за рамки вашей компетенции. Только один выход - интегрироваться со специалистами - педагогами (школьными и педвуза). Но /для того, чтобы убеждать их, требуется четкое понимание ситуации, их потребностей, четко выраженная Ваша позиция. Если вы сделаете выступление в духе вашего начального сообщения здесь - результат, с большей долей вероятности будет отрицательный - я попытался ответить вам почему, также я попытался коротко описать что вас ждет в "классических" университетах. Надеюсь на то, что участники этого форума помогут вам с тем же в отношении "специализированных" (бывших отраслевых) вузов, педагогических институтов (университетов), и школ (средний уровень и ниже).
Юрий Копнин ( Пользователь )
Здравствуйте.

Решил вот, чиркнуть заметочку...
Хмм.. Как время быстро идет, как будто вчера писал о своих разработках тут, а уже оказывается 3 года прошло... Сам не ожидал...

Возвращаюсь к выше написанному... В продолжении к своей истории, хочу сделать дополнение.. Как я писал, работая над проектом, я надеялся сделать гибкую систему, которая позволяла бы вносить изменения в приложение без перекомпиляции, собственно с этим проблем не возникло изначально. Но следующей целью было сделать систему, которая позволяла бы не только вносить изменения в приложения без перекомпиляции, но и запускать приложения без перекомпиляции на разных платформах. К счастью для меня, Delphi начал двигаться к кросс платформенности не так как я ожидал. Кросс платформенной стала не VCL, на которую всё завязано, а FireMonkey... В результате с текущими наработками о кросс платформенности на Delphi пришлось забыть...
В прошлом году обнаружил, что многие производители компонент, в частности меня интересуют компоненты доступа к данным, портировали свои компоненты на FreePascal/Lazarus, в общем-то отсутствие компонент - единственное что меня останавливало от использования Lazarus, поэтому, такая новость послужила толчком для движения в этом направлении. Убедившись, что с компонентами доступа к любимому FireBird всё в порядке, я за 4 месяца всё перетащил на Lazarus (всё, что наработано за 14 лет), за это время понял, что Lazarus великолепная система, и как-же раньше я без него обходился?
В начале зимы, когда почти всё было готово, я обнаружил ещё один подарок судьбы... Оказывается есть версия компонентов IBX, портированных на Lazarus и распространяющиеся по лицензии InterBase Public Licence, т.е. свободно... Мне пришлось их доработать, я сейчас веду свою ветку развития этих компонент под Lazarus, но благодаря им, мои наработки сейчас полностью коммерчески независимы, и они стали лучше, чем были на Delphi...
Сейчас проект кросс платформенный и полностью бесплатный, любой желающий может его собрать в том виде как он есть у меня, не затратив при этом ни копейки, либо совершенно легально может использовать готовую, собранную версию системы.
Есть и минусы, про русификацию встроенных языков пока придется забыть, в интерпретаторе сделать поддержку не проблема, на данный момент не смог приспособить SynEdit, который я использую, под русский язык, пока можно только имена модулей писать по русски, нет меню в редакторе, только быстрые кнопки. В остальном функционал не сколько не пострадал, а стал только лучше... В редакторе работает авто завершение кода и MouseLink, удерживая Ctrl и нажимая мышью по ссылкам, можно переходить к объявлениям объектов программы и от объявлений методов к реализации. Ctrl+Shift+C - в объявлении метода - создает его реализацию (в Delphi версии этого не было). Поддержка сетевых протоколов HTTP, FTP, POP, SMTP, IMAP реализована на Synapse и поддерживает SSL/TLS (раньше тоже не было).
Работает отладчик, можно ставить точки останова и выполнять программу по шагам, для поиска ошибки.
Всё кросс платформенно и бесплатно, тестирую в Win и Alt Linux (x32), как будет возможность, подключу Mac.

Разработку ребрендил в Дизель-паскаль

http://www.visual-t.ru

ps:
Сайт покоцали хакеры, поэтому пока так...

footer logo © Образ–Центр, 2019. 12+