2014 dxdy logo

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

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




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

 
 
 
 Re: О языках программирования для обучения
Сообщение03.02.2018, 15:20 
Аватара пользователя
alesha_popovich в сообщении #1289630 писал(а):
Побойтесь бога, кому нынче нужен паскаль? :facepalm:


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

 
 
 
 Re: О языках программирования для обучения
Сообщение03.02.2018, 15:25 
atlakatl в сообщении #1289716 писал(а):
Перетряхивать Вашу демагогию мне надоело.

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

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

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

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

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

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

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

 
 
 
 Re: О языках программирования для обучения
Сообщение03.02.2018, 16:01 
Аватара пользователя
atlakatl
Попытался заменить мейнстрим на отечественный синоним, так чтобы без потери смысла, и не смог. Может, Вы сможете?
Бог с ней, с целевой машиной и быстродействием. Пусть будет только второе: Программа на Паскале это мертвый груз, пока её не перепишут на С++.

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

 
 
 
 Re: О языках программирования для обучения
Сообщение03.02.2018, 16:08 
Интересно, что к этому традиционному спору столь же традиционно можно добавить одни и те же замечания... :-)

У "промышленных" языков почти всегда существуют недостатки, делающие их неудачными для обучения. Уже упомянули принципиальную объектность 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 
Аватара пользователя
eugensk в сообщении #1289723 писал(а):
со всеми стандартными модулями, типа Crt и Graph
Кстати, в те далёкие времена, когда я сам был школьником, а самой навороченной виндой считалась 2000-я, а 98-я годной для игр, модуль GRAPH в паскале использовал палитру 16 цветов режима VGA и хуже. При этом он был только в досовском варианте. Сейчас под новыми виндами эти программы без всяких боксов и виртуалок не запускаются. Так вот мой вопрос: что-то с модулем GRAPH в связи с этим сделали? Ну, типа поддержку труколор и возможность создавать консольные/графические виндовые приложения без погружения во всякие очереди обработки событий?

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

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

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

 
 
 
 Re: О языках программирования для обучения
Сообщение03.02.2018, 17:03 
Аватара пользователя
B@R5uk в сообщении #1289765 писал(а):
что-то с модулем GRAPH в связи с этим сделали?

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

-- 03.02.2018, 21:06 --

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

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

 
 
 
 Re: О языках программирования для обучения
Сообщение03.02.2018, 17:08 
Аватара пользователя
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 
Аватара пользователя
eugensk в сообщении #1289784 писал(а):
gd := d8bit;
Неизвестное имя.

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

 
 
 
 Re: О языках программирования для обучения
Сообщение03.02.2018, 17:27 
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