2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5 ... 10  След.
 
 Re: О языках программирования для обучения
Сообщение03.02.2018, 14:59 
Аватара пользователя


21/09/12

1871
kotenok gav в сообщении #1289718 писал(а):
на каком языке был создан первый торрент-клиент?
Википедь https://en.wikipedia.org/wiki/BitTorrent_(software) говорит, что на Питоне.
Я имел ввиду ПО для школ и русскоязычных. Если впадать в нужность языка как такового, то Ява вне конкурса. Но речь была о другом. И только демагог alesha_popovich пытается увести тему. А с этим облом у него.

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


14/12/17
1516
деревня Инет-Кельмында
alesha_popovich в сообщении #1289630 писал(а):
Побойтесь бога, кому нынче нужен паскаль? :facepalm:


Паскаль (без .NET, без OWL, без Win32) хорош тем, что школьник может его быстро и весь, со всеми стандартными модулями, типа Crt и Graph, без остатка, освоить.
У него остаётся больше времени для своего учебного проекта. Поэтому Паскаль в школе это самое то.

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


08/12/17
340
atlakatl в сообщении #1289716 писал(а):
Перетряхивать Вашу демагогию мне надоело.

Ну если ссылка на объективный рейтинг для вас демагогия, то да, разговаривать действительно больше не о чем.

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


21/09/12

1871
eugensk
Вы можете объяснить, чем ЧМ на Паскале - практические - хуже программ на С++? Сложность, требования к железу, скорость?
Тезис "Паскаль для обучения. Дальше серьёзный язык" годится для 5% школьников.
Остальным Паскаля хватит на всю жизнь.
-- 03.02.2018, 19:27 --

alesha_popovich в сообщении #1289725 писал(а):
ссылка на объективный рейтинг для вас демагогия
Ссылка это мелочь. У Вас всё демагогия.

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


14/12/17
1516
деревня Инет-Кельмында
atlakatl
Тут есть два момента,

- C++ в большей степени мейнстрим, и выбор, чем компилировать шире,
и скорее найдется более современный, лучше оптимизированный под архитектуру целевой машины компилятор;

- код на C++ проще переиспользовать, в силу и особенностей языка, и того, что С++ мейнстрим (вот такая обратная связь)
и это крайне важно. Даже если бы С++ был медленнее и требовательнее, чего нет, все равно это был бы довод в пользу С++.

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


21/09/12

1871
eugensk
Оба раза модное слово "мейнстрим". Это из серии "Вам доехать или чтобы с шашечками?"
Про "целевую машину" это глухие 80-е.
Компы сейчас одинаковые, а как они неодинаковые, петрят только крутые системщики. Речь о практической задаче. - Я на днях сталкивался с такой. Считала полсекунды. Если на другом железе достигнется 0,1 сек, мне фиолетово будет.
Я понимаю ограниченность Паскаля в работе с большими БД. А по скорости никаких преимуществ нет.

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


14/12/17
1516
деревня Инет-Кельмында
atlakatl
Попытался заменить мейнстрим на отечественный синоним, так чтобы без потери смысла, и не смог. Может, Вы сможете?
Бог с ней, с целевой машиной и быстродействием. Пусть будет только второе: Программа на Паскале это мертвый груз, пока её не перепишут на С++.

(Я прибавил безапеляционности, чтобы оставаться с Вами на одной волне).

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


09/05/12
25179
Интересно, что к этому традиционному спору столь же традиционно можно добавить одни и те же замечания... :-)

У "промышленных" языков почти всегда существуют недостатки, делающие их неудачными для обучения. Уже упомянули принципиальную объектность Java, из-за которой написание первых программ становится неудобным - слишком многое удастся объяснить только существенно позже, а сначала это выглядит как сложный и бессмысленный ритуал. У Python динамическая типизация, при его использовании в качестве первого языка последующее использование статической типизации (и вообще понимание работы с типами) обычно оказывается очень сложным. К С++ относится все то же, что и к Java (вместе с некоторой бессмысленностью - среди пишущих на C++ даже начинающих программистов людей, которые реально используют его возможности и выходят за рамки "C c некоторыми стандартными классами" очень мало).

Так что Паскаль - не самый плохой выбор. Однако не PascalABC, который снабжен несовместимыми с другими диалектами расширениями, а что-нибудь более стандартное. Поскольку на всех распространенных платформах есть FreePascal, наверное, нет смысла использовать что-то более экзотическое.
alesha_popovich в сообщении #1289689 писал(а):
TIOBE Index, например, с вами не согласен. Какой-то странный миллион, не находите?
Безотносительно к исходному утверждению atlakatl, которое мне тоже кажется странным, рейтинг TIOBE все же определяется частотой запросов в поисковиках с упоминанием соответствующего языка. В итоге язык, например, с очень хорошей документацией или используемый только хорошо знакомыми с ним программистами в рейтинге сильно "просядет", его результаты не будут соответствовать реальному объему использования. Верно и обратное: язык, представляющий собой в основном "клей" для библиотек, на котором от случая к случаю пишут не очень опытные программисты (а Python сейчас как раз эту нишу и занимает), получит заметно завышенный рейтинг.
alesha_popovich в сообщении #1289666 писал(а):
А ваши компетентные учителя как то не торопятся ни на шаг отступать от составителей программ - тут паскаль, ну и у нас паскаль значит будет. Зачем же что-то новое изучать? Главное же зарплату отработать, а не дать ученикам знания о современных технологиях.
Вообще-то в школе давать знания о современных технологиях не требуется. Отчасти потому, что это школа, а не профильный ВУЗ/техникум, отчасти из-за того, что в IT "современные технологии" имеют свойство устаревать или, по крайней мере, существенно изменяться за десяток лет, которые пройдут от старта обучения человека программированию в школе до использования их этим человеком на работе.

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


26/05/12
1694
приходит весна?
eugensk в сообщении #1289723 писал(а):
со всеми стандартными модулями, типа Crt и Graph
Кстати, в те далёкие времена, когда я сам был школьником, а самой навороченной виндой считалась 2000-я, а 98-я годной для игр, модуль GRAPH в паскале использовал палитру 16 цветов режима VGA и хуже. При этом он был только в досовском варианте. Сейчас под новыми виндами эти программы без всяких боксов и виртуалок не запускаются. Так вот мой вопрос: что-то с модулем GRAPH в связи с этим сделали? Ну, типа поддержку труколор и возможность создавать консольные/графические виндовые приложения без погружения во всякие очереди обработки событий?

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


08/12/17
340
Pphantom в сообщении #1289751 писал(а):
Безотносительно к исходному утверждению atlakatl, которое мне тоже кажется странным, рейтинг TIOBE все же определяется частотой запросов в поисковиках с упоминанием соответствующего языка.

Так я ж не против посмотреть на другие рейтинги, но ведь не показывает никто, а atlakatl решил хранить молчание. Есть вот еще рейтинг гитхаба, например. Там питон вообще на втором месте, а ни паскаля ни бейсика ни в каких инкарнациях нет в первых 15.
Pphantom в сообщении #1289751 писал(а):
Вообще-то в школе давать знания о современных технологиях не требуется. Отчасти потому, что это школа, а не профильный ВУЗ/техникум, отчасти из-за того, что в IT "современные технологии" имеют свойство устаревать или, по крайней мере, существенно изменяться за десяток лет

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

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


21/09/12

1871
B@R5uk в сообщении #1289765 писал(а):
что-то с модулем GRAPH в связи с этим сделали?

Анимация как простейшая прога Вас устраивает? Это российская разработка. Да, совместимость никакая. Так у нас много антироссийских клише - пример alesha_popovich. Переживём.

-- 03.02.2018, 21:06 --

alesha_popovich в сообщении #1289776 писал(а):
а atlakatl решил хранить молчание

За трёп ответите?
atlakatl в сообщении #1289719 писал(а):
Если впадать в нужность языка как такового, то Ява вне конкурса

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


14/12/17
1516
деревня Инет-Кельмында
B@R5uk в сообщении #1289765 писал(а):
Так вот мой вопрос: что-то с модулем GRAPH в связи с этим сделали?

Да, работает, с поддержкой новых разрешений и цветностей, и без очереди событий,
то есть можно создать вполне Windows приложение, просто пересобрав старую egavga.bgi программу.
Нпример, если поместить это в файл plot.pas, и собрать: fpc plot.pas ( у меня FreePascal 3.0.2)

Код:
uses
  Graph;

var
  gd,gm : integer;
  i : integer;
  x,y: real;
  ix,iy:integer;

begin
  write('Press Enter to start...'); readln;
  gd := d8bit;
  gm := m640x480;
  InitGraph(gd,gm,'');

  setcolor(yellow);

  for i:=0 to 10000 do
  begin
    x:=0+10.0*i/10000;
    y:=exp(x/10)*sin(sqr(x/3));
    ix:=trunc(x/10 * 640);
    iy:=trunc(480/2 + y*100);

    if i=0
    then moveto(ix,iy)
    else lineto(ix,iy);
  end;

  write('Press Enter to exit...'); readln;
  CloseGraph;
end.




то получится симпатичное Win-окошко с графиком.

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


21/09/12

1871
eugensk в сообщении #1289784 писал(а):
gd := d8bit;
Неизвестное имя.

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


14/12/17
1516
деревня Инет-Кельмында
У Вас FreePascal? Потому что в других константы могут отличаться.

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


09/05/12
25179
alesha_popovich в сообщении #1289776 писал(а):
Так я ж не против посмотреть на другие рейтинги, но ведь не показывает никто, а atlakatl решил хранить молчание. Есть вот еще рейтинг гитхаба, например. Там питон вообще на втором месте, а ни паскаля ни бейсика ни в каких инкарнациях нет в первых 15.
Так их - нормальных - просто нет. :-) У каждого есть селективность выборки, причем неустранимая.

Так что все же лучше подумать о том, что именно требуется от изучения программирования в школе. На мой взгляд: понимание общих принципов, основы алгоритмизации, минимальное представление о том, как вообще выглядит подобная область деятельности. И тогда выбор базового языка его популярностью в этом сезоне, распространенностью и т.п. может вообще не определяться.
alesha_popovich в сообщении #1289776 писал(а):
Из этого однако не следует, что надо в школе обучать заведомо устаревшим технологиям. На мой взгляд, в школе как минимум надо дать обзор современных языков программирования.
Тут возникнет много интересных вопросов: например, что считать "устаревшими технологиями" и "современными языками"? Почему Fortran, LISP и COBOL можно отнести к первым, думаю, очевидно, но есть немало оснований ровно те же три языка отнести и ко вторым (ну, может быть, COBOL с некоторой натяжкой). :-)

Впрочем, обзор, конечно, дать надо. Но это возможно лишь после хотя бы базового освоения хотя бы одного какого-нибудь языка, так что то, что мы сейчас обсуждаем, нужно делать раньше.
alesha_popovich в сообщении #1289776 писал(а):
А насчет изучаемого языка - его лучше выбрать из актуальных, выбор, благо, широкий.
Я уже писал выше - "учебные" языки и "промышленные" языки зачастую обладают противоположными характеристиками. Это довольно естественно: первые предназначены для того, чтобы типичные идейные ошибки учеников становились синтаксическими, вторые - чтобы увеличить скорость разработки для людей, которые уже умеют программировать и не делают детских ошибок (ну, по крайней мере, делают их не слишком часто). Поэтому для обучения, например, статическая типизация и описание переменных в одном определенном месте на Pascal - благо, а для быстрой сборки работающего кода из батареек на Python - зло.
alesha_popovich в сообщении #1289776 писал(а):
Да хотя бы тот же си лишен всех упомянутых в теме недостатков объектно-ориентированных языков, но при этом еще и не мертв.
Зато он имеет другие сильнейшие для "учебного" языка недостатки. А именно:
1) необходимость для большинства более-менее нетривиальных действий понимать, что такое указатель (уже даже ввод данных с клавиатуры);
2) ориентация в системе типов на их машинное представление данных в ущерб возможности абстрагирования (отсутствие логического типа, индексы массивов только с нуля, фактическое отсутствие многомерных массивов и т.п.);
3) предельная лаконичность языка и, как следствие, возможность получения синтаксически корректной (и неправильной) программы из правильной при случайной перестановке буквально нескольких символов.

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

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



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

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


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

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