2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9, 10  След.
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 15:23 
Аватара пользователя


21/09/12

1871
rockclimber
Палец показывает на меня. Lasarus (Алексеев, Чеснокова это Ваше?) пытались от нехватки пособий применить, а потом дружно перешли на ABC. И странно, что Вы его смешиваете с Delphy. Учебник анонсирует его как аналог FreePascal.

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 15:31 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Я заинтересовался PascalABC.

В старом Turbo Pascal были модули CRT и Graph, опять же удобные для начинающих, позволяющие выводить на экран текст и графику, асинхронно обращаться к клавиатуре. Есть ли аналоги (в том числе, достаточно удобные, простые и документированные для начинающих) в PascalABC? Плюс сегодня нужна мышь, опционально звук. Плюс сегодня хочется удобно работать с популярными форматами медиа-файлов, хотя бы на элементарном уровне; использовать web и HTTP.

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 15:39 
Аватара пользователя


21/09/12

1871
Munin в сообщении #1290809 писал(а):
В старом Turbo Pascal были модули CRT и Graph

CRT подключается автоматом. [извиняюсь, надо задавать. Просто инструментов по умолчанию хватает] GraphABC есть. Там есть и анимация. Для 5-7 классов само-то.
Про Web не знаю. Нужен бы мне он был, узнал.

-- 07.02.2018, 19:55 --

eugensk в сообщении #1290803 писал(а):
вдруг потом захочется прищучить либерала?
Вы хам и манипулятор. Почитайте в Википеди определение либерализма. К Вам оно не имеет ни малейшего отношения.
Я понимаю, Вы хотите набрать комментов на dxdy и остаться. Не получится.

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 15:57 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Спасибо.

Про web: просто хотелось бы таких возможностей, которые элементарно доступны в PHP и JS.

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 15:58 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
eugensk в сообщении #1290807 писал(а):
FreePascal IDE (fp.exe) не поддерживает кириллицу. Это факт. Да, можно было использовать Lazarus, но в нём, на мой вкус, для школы, слишком много отвлекающего.
В состоянии "из коробки" - возможно, но пятиминутный гуглинг показал, что проблема решаемая, и, как мне показалось, довольно просто решаемая.
atlakatl в сообщении #1290808 писал(а):
Палец показывает на меня. Lasarus (Алексеев, Чеснокова это Ваше?) пытались от нехватки пособий применить, а потом дружно перешли на ABC. И странно, что Вы его смешиваете с Delphy. Учебник анонсирует его как аналог FreePascal.
Убедитесь, что вы правильно понимаете значения слов "язык программирования", "компилятор" и "среда разработки" (и другие). Язык программирования - это просто набор правил, как записывать программу. Компилятор - это такая программа, которая превращает текст, написанный на языке программирования, в инструкции для процессора. "Среда разработки" (она же IDE) - это такая программа (часто не одна), которая позволяет выполнять сразу много задач, связанных с разработкой программ. Там есть и возможности написания кода, и навигация по коду, и вызов компилятора, и отладка, и много чего еще.

Так вот. Есть целое семейство языков, произошедших от паскаля. Есть Pascal, Turbo Pascal, FreePascal, Delphi и т. д. Проблема в том, что очень часто названия сред разработки совпадают с названиями языков. Для языка FreePascal есть одноименная среда разработки. Есть среда разработки Delphi (а не Delphy!), но многие не знают, что с некоторых пор компания Borland и язык програмиирования (pascal) тоже переименовала в Delphi.
Так вот, Lazarus (а не Lasarus) - это именно среда разработки, а языка такого нет (приятное исключение, не создает путаницу). Это среда разработки для языка FreePascal. И она именно что является аналогом для среды разработки Delphi.
atlakatl в сообщении #1290808 писал(а):
пытались от нехватки пособий применить
Я уже не вспомню точно год, но это было не позже 2011-го. На форуме freepascal.ru кто-то выложил собственноручно написанный учебник по Lazarus. Ну и вообще не найти достаточно информации о каком-то языке в 2010-х годах, имхо, это надо постараться.
atlakatl в сообщении #1290808 писал(а):
Алексеев, Чеснокова
Кто все эти люди? (с)

Munin в сообщении #1290809 писал(а):
В старом Turbo Pascal были модули CRT и Graph, опять же удобные для начинающих, позволяющие выводить на экран текст и графику, асинхронно обращаться к клавиатуре. Есть ли аналоги
А почему бы не взять тот же Lazarus и не рисовать на форме? Берем объект Canvas, и с ним проделываем все то же, что можно было делать в турбопаскале (нарисовать точку, линию, фигуру, сделать заливку и пр.). Мышь и всякие другие удобные штуки в комплекте.

Munin в сообщении #1290815 писал(а):
Про web: просто хотелось бы таких возможностей, которые элементарно доступны в PHP и JS.
С этим сложнее. Берите сразу Java и Spring Boot :wink:

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 15:58 
Модератор


19/10/15
1196
 !  atlakatl, eugensk, прекращайте личные разборки во всех темах.

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 16:08 
Аватара пользователя


21/09/12

1871
rockclimber в сообщении #1290816 писал(а):
Убедитесь, что вы правильно понимаете значения слов "язык программирования", "компилятор" и "среда разработки" (и другие).

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

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 16:12 


10/04/12
704
Не знаю... Python, мне кажется, подходит очень плохо в качестве языка обучения. Сужу больше по собеседованиям. Если Python единственный язык программирования, который знает кандидат, то... зачастую его уровень очень слаб. Максимум на уровне использовать Python как клей между системами. А вот если Python второй или третий язык, то всё отлично. В целом недостаток Python в том, что он создаёт виртуальную среду, достаточно удобную для разработки, но далёкую от понимания того, как всё работает на самом деле. А иногда это надо.

Лично я бы с удовольствием рассмотрел бы для обучения язык Ada, читай более строгий Pascal плюс сопрограммы, плюс пре-пост условия, плюс доказательство корректности. Стандарт Ada 2012 как по мне очень удачный.

C и особенно C++, как по мне, перегружены совместимостью. В результате чего языки имеют много лишних отвлекающих деталей. Те же хидера, которые надо использовать потому что изначально C рассматривался как расширение ассемблера :) В случае С проблема со строками. В случае С++ проблема в совместимости с С. Я бы для низкоуровневого старта рассмотрел бы Rust.

Ещё есть интересный вариант Golang.

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 16:15 
Заслуженный участник
Аватара пользователя


30/01/06
72407
rockclimber в сообщении #1290816 писал(а):
А почему бы не взять тот же Lazarus и не рисовать на форме?
rockclimber в сообщении #1290816 писал(а):
С этим сложнее. Берите сразу Java и Spring Boot :wink:

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

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 16:28 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
Munin в сообщении #1290822 писал(а):
Подчёркиваю, меня интересует удобство и документированность для начинающих.
Ну не знаю. Как по мне, так для создания оконных приложений удобнее Delphi/Lazarus так ничего и не придумали. Lazarus при этом изначально создавался как клон Delphi. Настолько близкий, что для обучения ему можно было использовать книги по Delphi, а для переноса Delphi-проекта в Lazarus достаточно было переименовать файлы *.dfm и *.dpr в *.lfm и *.lpr соответственно. По крайней мере, 8 - 10 лет назад было именно так. Но я никого не заставляю со мной соглашаться.

Munin в сообщении #1290822 писал(а):
Java уже обсуждался выше как не самый удачный в этом плане вариант.
Честно говоря, лень смотреть, что там писали про Java выше. Ее главный недостаток как первого языка для обучения - то, что она принципиально объектная. ООП появилось не просто так, для этого были причины, и чтобы их более доходчиво объяснить, имхо, процесс обучения надо строить таким образом: учим человека процедурному программированию, потом показываем проблему, потом показываем, как ее можно было бы решить с помощью ООП, потом уже можно учить java.
А если говорить о документации, учебных материалах и их доступности на разных языках - то тут java, имхо, будет на первом месте с большим отрывом.

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 16:29 
Аватара пользователя


21/09/12

1871
Munin в сообщении #1290822 писал(а):
меня интересует удобство и документированность для начинающих.
Удобств в PascalABC даже слишком. Объявленные, но не присвоенные переменные равны 0 (????) - привет АЛГОЛ-60.
Удобств достаточно.
Можно:
var x, y : real;
А можно:
var x:=0;
или
var y:=0.0;
Во-втором случае переменная действительная.
Сейчас спросил у препода в физматлицее Томска, 5-9 классы: PascalABC, без вариантов.

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 16:56 
Заслуженный участник
Аватара пользователя


30/01/06
72407
rockclimber в сообщении #1290823 писал(а):
Как по мне, так для создания оконных приложений

Это уже достаточно продвинутый уровень, как по мне. Хотелось бы быть опровергнутым. Ну и - не самое интересное, по сравнению с "игроподобным" набором клавиатура+графика.

atlakatl в сообщении #1290824 писал(а):
Удобств в PascalABC даже слишком.

Это я уже понял. Меня испугало замечание, что он использует .NET. Это сразу бросает обучающегося в слишком сложный контекст.

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 17:16 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
Munin в сообщении #1290833 писал(а):
Это уже достаточно продвинутый уровень, как по мне.
Достаточно продвинутый уровень - это понимать, как оно работает :wink: Пользоваться (в смысле разрабатывать) - просто. Это такой "айфон от программирования". Во многом массовая нелюбовь к Delphi берет корни именно отсюда. Первая версия появилась в 1996-м году, и это был довольно мощный по тем временам рывок в направлении упрощения разработки. Но видимая простота вышла боком - появилась куча плохо спроектированных приложений, которые тяжело поддерживать (и проще выкинуть и переписать), и до сих пор выражение Delphi-программист - это как клеймо. Не настолько жгучее, как 1С или VBA (или PHP какое-то время назад), но шло прямо за ними.

Munin в сообщении #1290833 писал(а):
Ну и - не самое интересное, по сравнению с "игроподобным" набором клавиатура+графика.
Так вы можете выводить графику прямо в окно, и прямо там же обрабатывать события от клавиатуры и мыши. В простейшем случае последовательность шагов выглядит так:
1. Создаете новый проект - сразу появляется проект приложения с одним окном ("форма" в тамошней терминологии).
2. В окошке сбоку (называлось вроде бы Object Inspector) выбираете закладку "Events", в списке событий находите onClick, двойной клик - в редакторе кода появляется шаблон метода:
Используется синтаксис Pascal
procedure TForm1.onClick(...);
begin

end;

3. Пишете туда код, запускаете приложение. Теперь при каждом клике в окно приложения будет выполняться эта процедура.

-- 07.02.2018, 18:21 --

4. Чтобы что-то нарисовать, достаточно написать в процедуре выше что-то типа такого (за давностью лет плохо помню сигнатуры методов):
Используется синтаксис Pascal
procedure TForm1.onClick(X, Y integer; ...);
begin
  Canvas.Line(0, 0, X, Y);
end;

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

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 17:30 
Заслуженный участник
Аватара пользователя


30/01/06
72407
rockclimber
Спасибо!

 Профиль  
                  
 
 Re: О языках программирования для обучения
Сообщение07.02.2018, 17:31 


15/11/15
950
atlakatl в сообщении #1290791 писал(а):
Практика это когда на языке считают в повседневных расчётах.
Ну я немножко про другую практику. Два знака вопроса относились к блондинкам, не к PascalАБС :) Все таки с жавы легче перейти на разработку мобильных приложений, уже хорошо. И есть еще бесплатная Интел. Идея для жавы.
Munin в сообщении #1290809 писал(а):
В старом Turbo Pascal были модули CRT и Graph, опять же удобные для начинающих
Если в нужности/ненужности Паскаля мне трудно определиться (так как трудно снова поставить себя на место начинающего, наверно), то тут категоричное - нет. Зачем изучать CRT, если есть формы? Также рисовалка в Паскале не нужна. Лучше бы тут сразу давать те же команды на JS.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 142 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9, 10  След.

Модераторы: Модераторы, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group