Ada_Ru форум

Обсуждение языка Ада

Обучение

Оставить новое сообщение

Сообщения

u0410u043du0434u0440u0435u0439u
Обучение
2007-05-17 11:23:10

Sergey I. Rybin wrote:

 

>А какой язык дегко учить самостоятельно?

 

Delphi, поскольку учебников много и в них достаточно примеров на все случаи с полными исходными кодами для совсем непонятливых. Вообще полный исходный код в учебнике вреден, но зато он позволяет найти то, о чём забыл написать автор.

Ещё одним преимуществом Delphi (особенно это важно для начинающих), являеться его совместимость с самим собой, т.е. если код работал у автора, то он будет работать и у учащегося. Чего не скажешь про

 

С++ (ещё ни один пример из DirectX SDK откомпилировать не удалось, при том что на Delphi я сам могу написать тоже самое).

 

>Как именно и почему?

 

Повторюсь. Кросплатформенность мешает тем, что все тексты (например Gnat мануал) избегают объяснять как программа работает (компилируется) на конкретной платформе и пробегают поверхностно по всем.

 

>Не оторван - просто мухи аккуратно отделены от котлет.

 

А можно мне одну котлету с мухами? Потому что самостоятельно их объеденить при моём уровне знаний языка проблемматично.

 

>Зависит от программиста.

 

Я написал "очень начинающий".

 

>Если знаете - подключите соответствующий Си-шный кусок к Аде, и все дела.

Ну в таком случае непонятно а зачем АДА.

 

>Запросто. Стандартный пакет Ada.Directories смотрели?

 

О! Полезная информация.

 

>Delphi - не язык, а среда программирования.

 

Ну это маленький Holywar, Начиная с Delphi 7 язык переименован в Delphi, что на мой взгляд правильно. Delphi неразделим (язык, IDE и VCL).

 

>Какой индустриальный язык общего назначения умеет изображать из себя базы данных?

 

Признаю ошибся. Не БД, а СУБД и это Delphi.

>Большинство современных задач кросс-платформенны процентов на 99.

Ну, не знаю - сужу по себе. Из того что я пишу пока 90% так или иначе используют WinAPI (DirectX API). Возможно у меня просто с фантазией плохо.

 

 

>Документацию читали?

 

Да читал раз 5 прочитал под разными углами Gnat мануал (главу про DLL), учебник "Адское программирование" (интерфейс с другими языками) и всё что выдали поисковики на русском и английском

 

по запросам "Ada win32" и "Ада Windows" (правда последний запрос в основном сообщает, что винда это адские муки).

 

 

Vladimir Teplouhov wrote:

 

>Есть предложение подготовить список материалов

 

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

 

>Ну то есть всяких примеров в тч и "hello word" можно конечно нафигачить(может кому надо).

 

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

 

>Есть идейка взять исходники gnat 3.15p

 

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

 

Olleg Samoylov wrote:

 

Да с IDE конечно проблеммы. Интересно GNAT Pro с таким же интерфейсом и настройками? Я себя чувствовал весьма глупо когда обнаружил, что он не поддерживает ctrl+c/ctrl+v.

А вот "Windows Ada IDE for GNAT" andy_ks@...; Andy Kuznetcov 2002г. мне понравилась, очень удобно, правда версия "0.1.0.10" оптимизма не внушает.

А про "Адское программирование" я ничего плохого сказать не хотел, там достаточно подробно описан язык, нехватает только примеров как его применять.

 

>Линукс какой? Чем смогу, помогу.

 

Спасибо за предложение, но по линуксу у меня литература есть так что сначала почитать попробую, потом спрашивать буду. Есть правда вопрос по архиву GNAT 2007: он целый (полный)? а то у меня распаковка закончилась нехваткой нескольких файлов в названиях которых почему то русские буквы "ссылка на". А вообще ASPLinux 11.

 

 

----------------------------------------------------------

Идею учебного проекта я всячески поддерживаю и очень надеюсь что её развитие не закончиться завтра.

Marina-Ala wrote:

 

Sergey I. Rybin wrote:

 

>А какой язык дегко учить самостоятельно?

 

Delphi, поскольку учебников много и в них достаточно примеров

 

Есть такое дело... А кто из присутствующих пробовал писать учебники (или

иные книги)? Или хотя бы видел, как это делается?

 

Кто готов положить год жизни (в лучшем случае!) на написание

ТОЛКОВОГО учебника? (бестолковые делаются методом

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

быстро)

 

Повторюсь. Кросплатформенность мешает тем, что все тексты (например Gnat мануал)

> избегают объяснять как программа работает (компилируется) на конкретной платформе

> и пробегают поверхностно по всем.

 

Во-первых, тот GNAT, что есть в свободном доступе - это native, а не cross

компиляторы. Во-вторых, для всех платформ все происходит абсолютно

одинаково, за исключением некоторых заморочек в форточках, но этому

в GNAT User's Guide посвящен специальный раздел.

 

А можно мне одну котлету с мухами? Потому что самостоятельно их объеденить

> при моём уровне знаний языка проблемматично.

 

Попробуйте задать конкретный вопрос. А то я не могу понять, в чем именно

у вас проблема - то ли в том, как пользоваться GNAT-ом на конкретной

платформе, то ли как создавать platform-specific код.

 

>Если знаете - подключите соответствующий Си-шный кусок к Аде, и все дела.

 

Ну в таком случае непонятно а зачем АДА.

 

Во-первых, то, что я предложил - решение для крайнего случая, когда то,

что хотели, не смогли сделать в Аде. Во-вторых, даже в этом случае

Ада полезна. Нормальная технология состоит в написании высокоуровневой

(и вообще - всякой) логики на Аде, а Си используется в случае крайней

необходимости для особо тонкой возни с адресами-регистрами и для интерфейса

с платформозависимыми особенностями.

 

>Запросто. Стандартный пакет Ada.Directories смотрели?

 

О! Полезная информация.

 

Да там ее горы! :)

 

Ну, не знаю - сужу по себе. Из того что я пишу пока 90% так или иначе используют WinAPI (DirectX API).

> Возможно у меня просто с фантазией плохо.

 

Возможно также, что в данном случае следует использовать какую-нибудь

сугубо форточную технологию. Никто ж не говорил, что Ада есть наилучшее

решение всегда и везде.

 

Vladimir Teplouhov wrote:

 

>Есть предложение подготовить список материалов

 

Да, да, да. Полностью поддерживаеться.

Владимир просто никогда не делал ничего из им предлагаемого, и поэтому

не имеет ни малейшего понятия, сколько на самом деле ресурсов на это

требуется. Я - делал. И поэтому не стал даже комментировать его предложение.

17.05.07, Sergey I. Rybin<rybin@adacore.com> написал(а):

Marina-Ala wrote:

 

> Sergey I. Rybin wrote:

>

> >А какой язык дегко учить самостоятельно?

>

> Delphi, поскольку учебников много и в них достаточно примеров

 

не знаю, я много писал на паскале, но предпочел потратить

время на что-нить новое, чем ковыряться в дельфи...

Не тот подход, хотя и паскаль тоже.

 

Есть такое дело... А кто из присутствующих пробовал писать учебники (или

иные книги)? Или хотя бы видел, как это делается?

 

а зачем? готового уже полно...

 

лет 20 бы назад, ну 10, может быть этот вопрос был бы актуален,

а теперь уже не стоит вопрос в создании чего-то нового,

только очистка от хлама.

 

Кто готов положить год жизни (в лучшем случае!) на написание

 

ага, два :)

 

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

времени больше

 

а вот на сбор хлама и его сортировку да, ушло с год если не больше.

Но теперь уже можно за 5 мин рассказать с чего лучше начать,

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

когда-то понадобится...

 

ТОЛКОВОГО учебника? (бестолковые делаются методом

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

сколь угодно быстро)

 

да полно не плохих материалов, хоть та-же книга по Ада что на сайте.

Как справочник - отлично, но если читать все подряд то кому-то может

и хорошо подойдет, только вот одна проблема - не всем, у каждого

свой подход, свой опыт, свои глюки... (но для этого не надо полностью

переписывать весь материал - 90-99% можно использовать всего готового,

русский там вроде нормальный вполне, на авт перевод не похоже ;) )

 

...

> >Если знаете - подключите соответствующий Си-шный кусок к Аде, и все

дела.

>

> Ну в таком случае непонятно а зачем АДА.

 

Во-первых, то, что я предложил - решение для крайнего случая, когда то,

что хотели, не смогли сделать в Аде. Во-вторых, даже в этом случае

Ада полезна. Нормальная технология состоит в написании высокоуровневой

(и вообще - всякой) логики на Аде, а Си используется в случае крайней

необходимости для особо тонкой возни с адресами-регистрами и для интерфейса

с платформозависимыми особенностями.

 

кстати при обучении надо делать упор именно на низкий уровень!

вплоть до примеров генерации кода, и для разных платформ.

нефиг делать еще одну жабу...

 

 

> >Запросто. Стандартный пакет Ada.Directories смотрели?

>

> О! Полезная информация.

 

Да там ее горы! :)

 

об чем и реч - хламовник да и только

 

дока есть готовая даже, только ее почему-то никто не может с ходу найти

 

что для этого надо год потратить чтобы порядок навести?

 

...

> Vladimir Teplouhov wrote:

>

> >Есть предложение подготовить список материалов

>

> Да, да, да. Полностью поддерживаеться.

 

Владимир просто никогда не делал ничего из им предлагаемого, и поэтому

не имеет ни малейшего понятия, сколько на самом деле ресурсов на это

требуется. Я - делал. И поэтому не стал даже комментировать его предложение.

 

во-первых делал, во вторых пока работал в институте на студиотов :)

не мало насмотрелся, а в третьих тут работы на несколько часов - только

отделить мух от котлет, нефиг в одну кучу валить замороченные баблиотеки

(которые мало кому нужны, и, главное, даже не специфичны для Ада!)

и базовую документацию, которой я кстати в одном месте списка так

и не видел еще, хотя она есть готовая в инете точно...

 

Vladimir

PS насчет обучения по-круче и повышения качества программ принципиально

тоже кое-какие идейки есть, но пока я вроде об этом даже не говорил...

(я тут хотел психологов и нлперов к этому делу привлеч, но они чего-то

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

методики, но об этом пока разговора нет)

Vladimir Teplouhov wrote:

 

Есть такое дело... А кто из присутствующих пробовал писать учебники (или

иные книги)? Или хотя бы видел, как это делается?

 

 

а зачем? готового уже полно...

 

Список готового - в студию!

 

Кто готов положить год жизни (в лучшем случае!) на написание

 

 

ага, два :)

 

На самом деле и двух мало будет.

 

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

времени больше

 

Дражайший! Так подарите нам эти несколько часов, и представьте результат,

от которого мы фсе станем немедленно щастливы!

 

А пока не представили - уж извините, всерьез вас воспринимать как-то не

получается...

 

:(

 

кстати при обучении надо делать упор именно на низкий уровень!

вплоть до примеров генерации кода, и для разных платформ.

нефиг делать еще одну жабу...

 

А зачем? Кому это надо и почему?

На Thu, 17 May 2007 21:56:41 +0700

"Vladimir Teplouhov" <Vladimir.Teplouhov@...> записано:

 

Но теперь уже можно за 5 мин рассказать с чего лучше начать,

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

когда-то понадобится...

 

Можете рассказать?

Оч интересно...

 

--

Best regards.

icq : 9048400.

Marina-Ala wrote:

Я написал "очень начинающий".

 

Очень начинающим следует почитать уроки Ады.

http://www.ada-ru.org/Lovelace/lovelace.htm

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

При желании и владении английским, можно и оригиналы почитать, ссылки там есть.

 

есть опечатки.

 

например в оригинале

http://www.adahome.com/Tutorials/Lovelace/s7s5.htm

 

написано

 

type /MY_TYPE/_Access is access all /MY_TYPE/'Access;

 

а в русском варианте переводчик исправил как надо.

 

type /МОЙ_ТИП/_Access is access all /МОЙ_ТИП/'Class;

День добрый!

 

Подумал я тут об идее изучения Ada "с нуля" на некотором примере...

 

Вот честное слово, не выходит примера...

 

В Delphi видимо это значительно проще, всё в одном флаконе, программист имеет минимальные возможности отойти от навязанной концепции. В Ada всё как раз наоборот. Программист может делать то, что ему нужно, как ему нужно и с помощью того, что ему нужно.

 

Нужны контейнеры - пожалуйста: от стандартных Ada2005 до компонентов Буча. Всё в зависимости от задачи...

 

Нужен GUI - пожалуйста: от Win32 и JEWL до X/Motif, Gtk, Qt.

 

Нужну написать клиент/серверное приложение - пожалуйста: от сокетов до CORBA. Включая собственные средства языка.

 

Нужно использовать базу данных - пожалуйста, от GNADE до легковесных связок для многих баз данных.

 

Учить - то чему? Всему? Сомневаюсь, что это реалистично...

Vadim Godunko wrote:

Учить - то чему? Всему? Сомневаюсь, что это реалистично...

 

Есть идея. Как утверждалось, что обучение Дельфи может быть очень наглядно. Потому как в нем содержится все, с чем его вообще можно использовать и легко придумывать учебные задачи в рамках его ограниченных возможностях.

 

В Аде много разброссано по библиотекам и отдельным пакетам. Что в принципе правильно. Например упрекали что у Ада IDE работает не так как хотелось бы. Так никто не заставляет им пользоваться. Я для программирования на всех языках, включаю Аду, использую vim и счастлив.

 

Но что хорошо для профессионалов, плохо для студентов. Так может просто создать готовый пакет программ подобранных для обучения. Где бы все что надо для обучения уже было и максимально легко устанавливалось. А чтобы было еще нагляднее и с самого начала возникали "правильные" мысли, что Ада традиционно используется для задач бортовой электронники, как самых требовательных к надежности, обучение Аде делать на базе Lego робота:

 

http://mindstorms.lego.com/

 

А потом продавать это инстутитам за тридорого. У нас конечно не купят, но буржуи же богатые. :-)

-- Olleg Samoylov

Учить - то чему? Всему? Сомневаюсь, что это реалистично...

 

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

ВУЗов. Причем влезть очень правильно - у нас сейчас на младших

курсах в нормальных институтах детишек алгоритмам и структурам данных

учат на основе Паскаля, так вот, реально продвинуть идею

замены мертвого Паскаля живой Адой.

 

Но для этого к соответствующим людям надо идти не с пустыми

руками, а с разработанной учебной программой:

учебник+задачник+практикум. Текста страниц на 500 минимум.

 

Кто-нибудь возьмется (хотя бы помогать)?

Andry Ogorodnik wrote:

 

Кто-нибудь возьмется (хотя бы помогать)?

 

Да, порабы уже что-то делать :)

Но большая проблема не втом что нет людей, нету организатора. Думаю любой из нас найдет 1-2 часа на подобную работу (вместо телевизора, там всеравно смотреть нечего :) а вот кто будет координатором?

 

Я имел на эту тему разговор с профессором Сухомлиным с ВМиК МГУ. Он сейчас

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

формы обучения (e-learning, и все такое). МГУ ему сдвинуть не под силу,

уж больно баржа неповоротливая, а вот в некоторых перифирийных университетах

у него есть явные успехи, а народ там по квалификации ничуть

МГУ не уступает, а по части энтузиазма и интереса к жизни - часто

превосходит. Вот через него-то и можно влезть. Если

идти этим путем - координатором быть мне, деваться некуда.

 

Я пока все это пишу в порядке общего трепа и рассмотрения возможностей.

Чтобы всерьез записаться в координаторы, мне надо еще от начальства

добро получить... :(

On Fri, 18 May 2007 09:47:03 +0700, you wrote:

 

есть опечатки.

 

например в оригинале

http://www.adahome.com/Tutorials/Lovelace/s7s5.htm

 

написано

 

type /MY_TYPE/_Access is access all /MY_TYPE/'Access;

 

а в русском варианте переводчик исправил как надо.

 

type /МОЙ_ТИП/_Access is access all /МОЙ_ТИП/'Class;

 

Что, тем не менее, вполне законно, начиная с Ады 2005. К сожалению, конечно

- не устояли перед модой и полит-корректностью.

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

Dmitry A. Kazakov wrote:

 

Что, тем не менее, вполне законно, начиная с Ады 2005. К сожалению, конечно

- не устояли перед модой и полит-корректностью.

 

Мода тут ни при чем. Это требуется для обработки неоднородных структур

в ОО коде. Я просто лично знаю людей, которые занимались пересмотром

стандарта - им та мода с политкорректностью глубоко пофигу.

Sergey I. Rybin wrote:

Dmitry A. Kazakov wrote:

 

 

Что, тем не менее, вполне законно, начиная с Ады 2005. К сожалению, конечно

- не устояли перед модой и полит-корректностью.

 

Мода тут ни при чем. Это требуется для обработки неоднородных структур

в ОО коде. Я просто лично знаю людей, которые занимались пересмотром

стандарта - им та мода с политкорректностью глубоко пофигу.

 

Речь наверное шла не о конструкции языка, а об использовании русских букв в идентификаторах.

 

Соглашусь, что использование русских букв выглядит странно (если китайцы напишут иероглифами, то ещё и непонятно :) ), но тем не менее, имеется ряд случаев, когда это черезвычайно удобно. Пример - литералы перечислимых типов. При таком объявлении и при использовании ПО в рамках одной языковой группы становится возможным использование Ada.Text_IO.Enumeration_IO, 'Image, 'Value. Использование последних упрощает программирование.

On Fri, 18 May 2007 11:32:25 +0400, you wrote:

 

Dmitry A. Kazakov wrote:

 

Что, тем не менее, вполне законно, начиная с Ады 2005. К сожалению, конечно - не устояли перед модой и полит-корректностью.

 

Мода тут ни при чем. Это требуется для обработки неоднородных структур в ОО коде.

 

Русские буквы связаны с неоднородностями структур?

 

Я просто лично знаю людей, которые занимались пересмотром

стандарта - им та мода с политкорректностью глубоко пофигу.

 

Забавно, что Unicode ISO стандарт начинается с описания языка наименования позиций самого кода. И, что возмутительно, так это - нормативное

использование латинского алфавита! (:-))

 

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

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

Sergey I. Rybin wrote:

Кто-нибудь возьмется (хотя бы помогать)?

Могу принять участие в качестве подопытного кролика. :-)

 

А что касается наших институтов, то IMHO безнадёга. Как водится в советское время, если человек умеет работать - работает, если не умеет - руководит, а не умеет даже руководить - преподает. Я из МФТИ, так у нас учат не тому, что студентам в будущем понадобится, с что преподаватели знают. И для того, чтобы студентов обучить чему-то хорошему, сами они это изучать не захотят.

 

Пожалуй может быть единственная лазейка это авиационные институты. Все таки у их выпускников хоть какая-то есть вероятность пересечься с Адой.

-- Olleg Samoylov

Dmitry A. Kazakov wrote:

 

On Fri, 18 May 2007 11:32:25 +0400, you wrote:

 

 

Dmitry A. Kazakov wrote:

 

 

Что, тем не менее, вполне законно, начиная с Ады 2005. К сожалению, конечно

- не устояли перед модой и полит-корректностью.

 

Мода тут ни при чем. Это требуется для обработки неоднородных структур

в ОО коде.

 

 

Русские буквы связаны с неоднородностями структур?

 

Похоже, я на что-то другое отвечал... :(

Olleg Samoylov wrote:

 

Sergey I. Rybin wrote:

 

Кто-нибудь возьмется (хотя бы помогать)?

 

Могу принять участие в качестве подопытного кролика. :-)

 

А что касается наших институтов, то IMHO безнадёга. Как водится в советское время, если человек умеет работать - работает, если не умеет - руководит, а не умеет даже руководить - преподает. Я из МФТИ, так у нас учат не тому, что студентам в будущем понадобится, с что преподаватели знают. И для того, чтобы студентов обучить чему-то хорошему, сами они это изучать не захотят.

 

В Москве, согласен, полная задница. На периферии ситуация повеселее...

Sergey I. Rybin wrote:

 

А что касается наших институтов, то IMHO безнадёга. Как водится в советское время, если человек умеет работать - работает, если не умеет - руководит, а не умеет даже руководить - преподает. Я из МФТИ, так у нас учат не тому, что студентам в будущем понадобится, с что преподаватели знают. И для того, чтобы студентов обучить чему-то хорошему, сами они это изучать не захотят.

 

В Москве, согласен, полная задница. На периферии ситуация повеселее...

 

Сергей Игоревич, а нельзя ли попросить человека, о котором Вы упоминали, написать в нашу рассылку какое письмо с описанием планов по продвижению и ответить на наши вопросы?

 

Я так понимаю, что желающие помочь есть, причём похоже на безвозмездной основе, но народу нужно иметь "духовного лидера" :)

Vadim Godunko wrote:

 

Сергей Игоревич, а нельзя ли попросить человека, о котором Вы упоминали, написать в нашу рассылку какое письмо с описанием планов по продвижению и ответить на наши вопросы?

 

Едва ли. Во-первых, он не горит желанием продвигать Аду, он всего лишь

готов помогать желающим это делать. Во-вторых, его уровень существенно

выше нашей тусовки (он просто забудет сюда второй раз посмотреть), он

вращается в высоких *бюрократических* сферах. Как и все - перегружен,

и как и все - всегда все забывает.

 

Да и планы - скорее наши, чем его. У него *общая* работа по продвижению

современных международных образовательных стандартов, а там

конкретные языки программирования не прописаны.

 

Кстати, а какие у нас есть вопросы?

 

 

Я так понимаю, что желающие помочь есть, причём похоже на безвозмездной основе, но народу нужно иметь "духовного лидера" :)

 

Духовного лидера придется воспитывать в своем коллективе - иного пути нет! :)

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

 

----------------------------------

Интересно ваше мнение по поводу результатов эксперимента.

Ада - 14,3 сек

Delphi - 5,6 сек

На мой взгляд это грустно.

Новое сообщение:
Страницы: 1 2 3 4

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти