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

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

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



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

Сейчас этот форум просматривают: YandexBot [bot]


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

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