LINUX.ORG.RU
ФорумTalks

Как обучают программированию в российской школе сейчас?

 ,


0

1

На каких языках учат программировать?

Раньше всё было просто: VB5 или VB6. А теперь?

Неужели, Visial Studio ставят? Или Python? Или Java?

★★★★★

Последнее исправление: Nxx (всего исправлений: 1)

Ответ на: комментарий от sanyo1234

С# десятилетней давности?

А в чём разница? В этих .NET языках может улучшаться только синтаксис, остальные возможности не меняются (зависят от библиотек).

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Nxx

VSCode - это текстовый редактор. Ничем не отличается от Notepad++

Отличается количеством плагинов и языковым движком для понимания синтаксиса различных ЯП.

sanyo1234
()
Ответ на: комментарий от sehellion

Алгоритмический, паскаль. Бэйсик еще мог бы быть.

Какой-такой Бэйсик? Конкретно бы увидеть, на каком бейсике они могут сейчас обучать.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от sanyo1234

К сожалению, в MS он переведен в режим поддержки, т.е. развивается только со стороны бэкенда для поддержки новых релизов .NET

Синтаксис у VB такой крутой, что там уже и улучшать нечего. Один только Select Case чего стоит - ничего подобного ни в одном языке нет.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Nxx

А в чём разница? В этих .NET языках может улучшаться только синтаксис, остальные возможности не меняются (зависят от библиотек).

Библиотеки стали более оптимизированные, кросплатформенные, с более современными подходами к решению тех или иных задач. Т.е. меняется архитектура отдельных подсистем типа GUI (Blazor и MAUI например), улучшается родной ORM Entity Framework и многое другое.

https://www.infoworld.com/article/3608611/whats-new-in-microsoft-net-6.html

https://devblogs.microsoft.com/dotnet/performance_improvements_in_net_7/

В целом компилятор покруче, в отдельных случаях умеет в AOT, скоро даже для веб сайтов.

https://visualstudiomagazine.com/articles/2023/07/12/net-8-preview-6.aspx

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от lenin386

плохое про УК-НЦ? Она же на порядок круче Ямах была

Команды ВМ2, выполняющиеся по две сотни тактов? Второй проц висящий на половине шины?
Восьмицветная графика, где фреймбуфер(тупой фреймбуфер, а не семейство V9000) раскидан битпланами по памяти между двумя процами, как бык поссал?
Однобитный пьезобипер против PSG ямах?
Проклятая JCUKEN клава?
На тех ресурсах, можно было сделать куда более крутую машину, чем УКНЦ.

GAMer ★★★★★
()
Ответ на: комментарий от anc

«Какая лядь писать начала?» :)

Странно, вроде ж там простой UART и в формате пакетов есть 4х битное поле физического адреса...

GAMer ★★★★★
()
Ответ на: комментарий от sanyo1234

Не было наследования, что критически важно для полноценного ООП.

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

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Nxx

Синтаксис у VB такой крутой, что там уже и улучшать нечего.

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

Пытаться его улучшать - только портить и усложнять.

Для написания либ может быть полезен более современный C#, но и более мудреный с каждым релизом.

sanyo1234
()
Ответ на: комментарий от Nxx

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

В VB6 не было возможности создать своего потомка общей формы MS, а свои формы создавать потомками уже от кастомизированного шаблона.

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

sanyo1234
()
Ответ на: комментарий от sanyo1234

Gambas же только под Линукс, FreeBasic - без нормального IDE, а остальное - маргинальщина.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от GAMer

Команды ВМ2, выполняющиеся по две сотни тактов?

Это которые MUL/DIV? Так у Z80 вообще таких команд нету, а софтверная реализация будет ~900 тактов. И частота у Z80 меньше в 2.5 раза. Команда сложения регистров у ВМ2 8 тактов, у Z80 - 11, только частота у ВМ2 - 8Mhz, а Z80 - 3.5. Товарищ, зэдник - процессор их 70-х, в 80-х он смотрелся сильно не очень.

Второй проц висящий на половине шины?

А У MSX второго проца вообще нет. Это лучше, да?

Восьмицветная графика, где фреймбуфер(тупой фреймбуфер, а не семейство V9000) раскидан битпланами по памяти между двумя процами, как бык поссал?

Ну, конечно, 320x240 без парадигмы 1 пиксел = 1 цвет, несомненно, лучше 640х288 пиксел=цвет. Вы чего там курите. Какая разница, как она организована? А вас там школьники все хэкеры штоле? Ну-ну.

Однобитный пьезобипер против PSG ямах?

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

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 8)
Ответ на: комментарий от MKuznetsov

Унификация, хренация. Синклер был унифицирован не хуже MSX, а гораздо лучше. И ставить его в школы не приходило ни в одну безумную голову. А уж УК-НЦ была вообще тупо одна модель, а вы что-то про унификацию какую-то мифическую втираете.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от Nxx

Если устраивает древний DotNet v4.8.x и Mono.

То для него есть бесплатный MonoDevelop с поддержкой VB.NET и C#, только открытый MonoDevelop несколько лет назад зачем-то превратился в проприетарный Visual Studio for макакOS:

https://adtmag.com/articles/2017/05/10/vs-for-mac.aspx

при этом открытая часть проекта перестала развиваться :(

Но сегодня узнал о внезапном закрытии проприетарного проекта:

https://visualstudiomagazine.com/articles/2023/08/30/vs-for-mac-retirement.aspx

IMHO открытие этих наработок в виде возврата в проект MonoDevelop было бы огромным бустом для рынка .NET IDE, задало бы конкурентный тонус для более лучшего развития Rider, Elements, VSCode и собственно самой студии для Windows, которую таки не мешало бы портировать на Linux хотя бы через Авалонию.

sanyo1234
()
Ответ на: комментарий от sanyo1234

В любом случае, MоnoDevelop под винду и не было. И редактор форм для VB там тоже так и не сделали.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Nxx

На Ямахах то же самое

На КУВТ, на нормальных - нормальный QWERTY.

GAMer ★★★★★
()
Ответ на: комментарий от Nxx

В любом случае, MоnoDevelop под винду и не было. И редактор форм для VB там тоже так и не сделали.

Под венду есть бесплатная Microsoft Visual Studio Community Edition, начиная с версии 2010.

И даже open-source https://en.wikipedia.org/wiki/SharpDevelop с редактором форм.

SharpDevelop даже запускается под WINE, но насколько он там юзабелен, я не знаю. По уровню функционала такой IDE для VB.NET и C# того времени IMHO примерно соответствует нынешнему PascalABC, если PascalABC действительно заточен только для .NET Framework v4.8.x. Кто-нибудь знает, какие точно таргеты доступны в PascalABC? Что-то у них об этом на сайте и в википедии весьма туманно?

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от GAMer

Чем JCUKEN-то не угодил? Расположение знаков препинания на нём гораздо удобнее, чем нынешняя чехарда. WASD не на месте? Так не хрен в школе в игрушки играть.

alegz ★★★★
()
Ответ на: комментарий от lenin386

Это которые MUL/DIV?

Брехать не буду, не помню, а бумажки что-то не обнаруживается.
Вроде XXX (REG),(REG) с аргументами, которые по три раза с шины берутся 3*16бит.

Команда сложения регистров у ВМ2 8 тактов

А не 40 ли?

Ну, конечно, 320x240 без парадигмы 1 пиксел = 1 цвет, несомненно, лучше 640х288 пиксел=цвет.

На V9958 всё же получше

Графические режимы: 512 x 212 (16 цветов из 512) и 256 x 212 (19268 цветов)

Какая разница, как она организована?

А такая что из-за этого в играх УКНЦ используются только два битплана с 4мя цветами. Потому что иначе гемор и тормоза с доступом к экранной памяти через порты.

Какой игори тебе не хватало для изучения Паскаля?

Дедушка, конечно, прав, как всегда, учиться, учиться и учиться ))

GAMer ★★★★★
()
Ответ на: комментарий от alegz

WASD не на месте?

В время расцвета JCUKEN'а до WSAD оставалось два десятка лет )

Расположение знаков препинания на нём гораздо удобнее, чем нынешняя чехарда.

Ладно знаки! Это я пойму. Почему QWERTY не оставить?!

GAMer ★★★★★
()
Ответ на: комментарий от sanyo1234

С другой стороны интеграция VB6 с Windows, ActiveX, COM и т.п. конечно шикарна, но совсем без ООП, что было очень тоскливо :(

То, что было в VBA и VB6 называлось объектно основанное программирование, т.е. таки была возможность создания экземпляров классов, но создание унаследованной иерархии классов только в виде ActiveX средствами других ЯП за пределами VBA/VB6 (например на MS плюсах, вероятно, на Delphi и т.п.).

sanyo1234
()
Ответ на: комментарий от GAMer

Вроде XXX (REG),(REG) с аргументами, которые по три раза с шины берутся 3*16бит.

Я не знаю, о чём ты говоришь. Если операция регистр-регистр, то с шины не берётся ничего, кроме кода команды. И ситуация тут будет примерно аналогичной Z80, не в пользу последнего (см. выше). Не забывай, что Z80 - 8-и разрядный процессор, адрес берётся в 2 приёма, код операции - 1-6 приёмов, запись аналогично + регенерация каждые 4 цикла. В результате, многие команды выполняются по 23 такта, а это простые команды, очень. Никакой плавающей запятой, вообще. А У ВМ2 она была. Знаешь, сколько эмуляция ест? А в те времена память каждый байт выкраивали.

А не 40 ли?

да какбэ, нет.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от lenin386

Я не знаю, о чём ты говоришь.

У PDP-11 можно было агрументом задать регистр, в котором хранится адрес адреса аргумента, в таком случае проц лазит в память то и дело.
Может это было связано со схемотехникой именно УКНЦ, но я помню, сильно удивлялся, когда сравнивал ВМ2 с Z80, потому что у него минимальная команда была 36 чтоль тактов и максимум 180. И в УКНЦ тайминги были не постоянны, а сильно плавали от фазы луны.

GAMer ★★★★★
()
Ответ на: комментарий от GAMer

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

Но у Z80 таких команд в принципе нет! Там есть косвенная адресация, но она 1) однобайтовая 2) и это только загрузка/выгрузка числа. Даже если такая команда выполняется на ВМ2 36 тактов, то аналог из нескольких команд на Z80 будет выполняться тактов 60, на вскидку, если не больше. И не забывай, что у Z80 в 2.5 раза меньше частота!

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 2)
Ответ на: комментарий от no-such-file

Думаю, это совершенно не важно. Кто на геометрии графики вида f(x)=kx+b рисовал, того и программистское hello("Oleg") → "Hello, Oleg" не напугает. А вот простое уравнение x=x+1 жесточайше поставит в тупик.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

того и программистское

Дело в том, что функции в процедурных языках и в функциональных – это две разных сущности. Процедурные функции, т.е. просто особый вид процедур, конечно будут понятны.

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

no-such-file ★★★★★
()
Ответ на: комментарий от ugoday

x=x+1

Этот тупой прикол придумали люди которые не умеют в математику. Во-первых уравнение имеет решение в виде бесконечности. Во-вторых в различных алгебрах оно имеет и конечные решения.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Вы не то чтобы неправильно говорите, просто в контексте обучения детей это совершенно неважно. Тут главное: а) не напугать и не оттолкнуть; б) заинтересовать, тогда может быть толк и выйдет.

Тут при обсуждении темы людей вообще постоянно сносит то в промышленное программирование, то в академические дебри. Они бы и сложение объясняли не на уровне «яблоко плюс два яблока будет три яблока», а ввели бы для начала аксиоматику Пеано. Тут педагогическая задача и думать нужно педагогическими категориями. Отдельно следует обговорить хотим ли мы достичь максимального результата с минимальным количеством учеников-олимпиадников или повысить средний уровень школьников в очень среднеобразовательной школе.

ugoday ★★★★★
()
Ответ на: комментарий от sanyo1234

К сожалению, в MS он переведен в режим поддержки, т.е. развивается только со стороны бэкенда для поддержки новых релизов .NET

https://learn.microsoft.com/en-us/dotnet/visual-basic/getting-started/strategy

 consumption only approach means Visual Basic code can access .NET APIs and types built on new .NET runtime features, but Visual Basic won’t add syntax to define types that use those features. This allows new features to benefit Visual Basic users with little or no syntax changes.
We will continue to improve the Visual Studio experience for Visual Basic developers, such as providing analyzers, code fixes and IDE productivity features.
sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от endlessend

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

Так этот мем не семиклассники зафорсили, а вкатывальщики в ИТ.

no-such-file ★★★★★
()
Ответ на: комментарий от Nxx

Увы, но в нашей школе его не было никакого. А теперь уже, действительно, «не могут», так как не нужно:

В перечень доступных языков программирования входят: С++, Java, C#, Pascal, Python, Школьный алгоритмический язык. Бэйсик из него исключен.

sehellion ★★★★★
()
Ответ на: комментарий от Nxx

Один только Select Case чего стоит - ничего подобного ни в одном языке нет.

Аналоговнет, говоришь. И чем же он отличается, к примеру, от case из общелиспа?

Nervous ★★★★★
()
Ответ на: комментарий от Zhbert

Ну вот и я про то, что и раньше не обучали и сейчас не обучают. Да и лично я не верю, что это то чему можно обучить. Лучше бы компами учили пользоваться.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

Лучше бы компами учили пользоваться.

Всякой ерунде сами научатся. Лучше бы ввели реально полезные предметы: латынь, греческий, бальные танцы и ролевые игры.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Всякой ерунде сами научатся.

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

ya-betmen ★★★★★
()
Ответ на: комментарий от sanyo1234

SharpDevelop мёртв. И в любом случае для его работы, наверно, надо .NET SDK ставить, нет? Своего компилятора же там нет.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от sanyo1234

Ну а для большинства прикладных задач создание иерархии классов и не надо. Плюс, унификация внешнего вида программ - это хорошо. У всех кнопочки одинаковые.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от CYB3R

А мне всегда странно было, что системную магистраль «шиной» называют. Почему именно «шина»?

Nxx ★★★★★
() автор топика
Ответ на: комментарий от Nxx

Ну а для большинства прикладных задач создание иерархии классов и не надо. Плюс, унификация внешнего вида программ - это хорошо. У всех кнопочки одинаковые.

Так ведь для унификации как раз и нужно наследование?

sanyo1234
()
Ответ на: комментарий от sanyo1234

Мне кажется, наследование нужно если ты сам свой тулкит задумал писать.

А если на основе существующих элементов управления - в VB6 вполне можно задать тип формы и пачками эту форму создавать. Никаких проблем.

Nxx ★★★★★
() автор топика
Ответ на: комментарий от maxcom

Как-то несправедливо: для C# современная студия, а для бейсика доисторический QuickBasic и слабенький SmallBasic.

Да еще C# в одной группе с плюсами, IMHO вообще очень разные ЯП.

sanyo1234
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)