The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Python признан самым популярным языком для начального обучен..., opennews (?), 08-Июл-14, (0) [смотреть все] +1

Сообщения [Сортировка по времени | RSS]


88. "Python признан самым популярным языком для начального обучен..."  –3 +/
Сообщение от Kodir (ok), 08-Июл-14, 15:27 
> Паскаль всё так же преподают. Хотя неясно, в чём проблема изучать Си, если даже школьники с этим справляются.

_отдельные_ школьники справляются! Из своего опыта скажу: я ТРИ раза брался за Си (из них - два, когда уже знал Паскаль!!) и только с третьего раза "въехал" что там к чему. Все эти int a = b++ + ++c; сильно сбивают с толку. Или вообще for(;;IsIt()) - непонятно что происходит там, где даже ничего не написано! :)

Всё же Паскаль полегче дался (да и тот - после Бейсика), так что для начала я б давал ученикам ТОЛЬКО Бейсик - хотя бы понять суть п-я и что ты не только командуешь, но и несёшь ответственность за приказы. А потом уже хоть Смоллток - по накатанной легче.

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

151. "Python признан самым популярным языком для начального обучен..."  +1 +/
Сообщение от Аноним (-), 08-Июл-14, 18:22 
> Всё же Паскаль полегче дался (да и тот - после Бейсика)

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

Ответить | Правка | Наверх | Cообщить модератору

277. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от chinarulezzz (ok), 09-Июл-14, 08:03 
>> Паскаль всё так же преподают. Хотя неясно, в чём проблема изучать Си, если даже школьники с этим справляются.
> _отдельные_ школьники справляются! Из своего опыта скажу: я ТРИ раза брался за
> Си (из них - два, когда уже знал Паскаль!!) и только
> с третьего раза "въехал" что там к чему. Все эти int
> a = b++ + ++c; сильно сбивают с толку. Или вообще
> for(;;IsIt()) - непонятно что происходит там, где даже ничего не написано!
> :)

я до сих пор не въезжаю)) неоднозначность и запутанность синтаксиса это еще ладно, нелогично void и null в использовании, легаси бред с функциями, где если функция не возвращает значение пишем void func(), а если возвращает то просто func(). А отсутствие нетрансцендентных строк, массивов, модулей и пространств имён - сделали сишку вообще архаичным старьём и как-то даже не мотивирует изучать. Но хочется, чтоб иногда системный код понимать и по возможности поправить.

Системщики возможно ведают что творят, но в прикладном программированиии использование Си у меня ассоциируется с кнутом и латексом))

Ответить | Правка | К родителю #88 | Наверх | Cообщить модератору

281. "Python признан самым популярным языком для начального..."  +1 +/
Сообщение от arisu (ok), 09-Июл-14, 08:37 
> в прикладном программированиии использование
> Си у меня ассоциируется с кнутом и латексом))

во всех остальных случаях не лучше.

к сожалению, на си сделана куча кода, а компиляторы си есть чуть ли не для табуретов.

с другой стороны — вполне можно использовать си так, как делают сейчас некоторые трансляторы: выплёвывая вместо ассемблерного кода сишный и пиная си-компилятор «под ковром».

правда, и для такого применения си не очень подходит — с его идиотскими UB (переполнение беззнакового целого определено, знакового — нет; доступа к carry flag, имеющемся на подавляющем большинстве процессоров — нет… а, долгая, печальная история).

Ответить | Правка | Наверх | Cообщить модератору

314. "Python признан самым популярным языком для начального..."  –1 +/
Сообщение от Аноним (-), 09-Июл-14, 11:09 
> идиотскими UB (переполнение беззнакового целого определено, знакового — нет; доступа
> к carry flag, имеющемся на подавляющем большинстве процессоров — нет… а,
> долгая, печальная история).

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

Ответить | Правка | Наверх | Cообщить модератору

326. "Python признан самым популярным языком для начального..."  +1 +/
Сообщение от arisu (ok), 09-Июл-14, 12:04 
> Ну транслируй, блин, в ассемблер, если такие навороты надо.

в чей именно? а-а-а, «целевой системы»? или в два. или в три. или…

> Carry флаг тоже еще явно проверять надо, btw.

и это, конечно, очень мешало добавить в си предикат is_carry(expression). ведь это же совсем-совсем неприкольно: использовать то, что умеет большинство процессоров аппаратно вместо написания кучи идиотских ручных проверок, где шанс ошибиться намного выше. «язык системного программирования», my ass…

Ответить | Правка | Наверх | Cообщить модератору

366. "Python признан самым популярным языком для начального..."  +/
Сообщение от Аноним (-), 16-Июл-14, 09:05 
> же совсем-совсем неприкольно: использовать то, что умеет большинство процессоров
> аппаратно

А если некто не умеет - то чего? Посадить ему скорость математики в несколько раз, проверяя все операнды программно?

> «язык системного программирования», my ass…

Дык, твой ass ничего лучше не предложил.

Хотя в целом соглашусь что фичу можно было бы и сделать, временами удобно было бы.

Ответить | Правка | Наверх | Cообщить модератору

370. "Python признан самым популярным языком для начального..."  +/
Сообщение от arisu (ok), 16-Июл-14, 10:22 
разупорись, пожалуйста.
Ответить | Правка | Наверх | Cообщить модератору

327. "Python признан самым популярным языком для начального..."  +1 +/
Сообщение от arisu (ok), 09-Июл-14, 12:10 
p.s. или, например, посчитать количество архитектур, которые используют two's complement integer arithmetic и сообразить, что для «процессоров в будущем, которые будут импортированы с Марса» можно будет ввести новый тип целых, а сейчас намного удобней сделать результат переполнения int определённым (равно как и результат приведения signed<->unsigned одинакового размера).

но нет, это было бы слишком просто, это же, в конце концов, Крутой Язык Системного Уровня! стоит ли облегчать жизнь этим дуракам-системщикам? да ни за что, им же так нравится городить ручные проверки там, где уже есть аппаратные, и либо жертвовать переносимостью кода (и дрожать от предвкушения того, что сделает оптимизатор, увидев код с UB), либо опять писать руками преобразования, которые аппаратно не более, чем обычный mov.

Ответить | Правка | К родителю #314 | Наверх | Cообщить модератору

368. "Python признан самым популярным языком для начального..."  +/
Сообщение от Аноним (-), 16-Июл-14, 09:41 
> намного удобней сделать результат переполнения int определённым

У разных процессоров и компилеров разный int. На лично мое мнение стоило бы вообще забить на эти int и что там еще и использовать нечто типа u8...64, s8...64 и так далее - сущности с известным размером и определенным результатом переполнения. Но увы, мир неидеален.

> опять писать руками преобразования, которые аппаратно не более, чем обычный mov.

У некоторых процов mov может и не быть. Как и carry.

Ответить | Правка | Наверх | Cообщить модератору

372. "Python признан самым популярным языком для начального..."  +/
Сообщение от arisu (ok), 16-Июл-14, 10:26 
>> намного удобней сделать результат переполнения int определённым
> У разных процессоров и компилеров разный int.

точно? точно-точно? а ну-ка, давай рассказывай, где какие. у каких процессоров int — не two's complement, сколько таких, и сколько процессоров, где two's complement?

> бы вообще забить на эти int и что там еще и
> использовать нечто типа u8...64, s8...64 и так далее

при чём тут размеры инта? O_O ты чем читал вообще? unsigned int тоже не особо определён в точных размерах, но оговорить в стандарте поведение uint при переполнении это отчего-то никому не помешало.

>> опять писать руками преобразования, которые аппаратно не более, чем обычный mov.
> У некоторых процов mov может и не быть. Как и carry.

и сколько их? а сколько тех, у кого есть? намекаю: не большинство должно забивать на фичи, потому что их нет у двух инвалидов, а инвалиды должны эмулировать фичи, которые есть у большинства.

Ответить | Правка | Наверх | Cообщить модератору

383. "Python признан самым популярным языком для начального..."  +1 +/
Сообщение от Аноним (-), 19-Июл-14, 18:24 
> точно? точно-точно? а ну-ка, давай рассказывай, где какие. у каких процессоров int
> — не two's complement, сколько таких, и сколько процессоров, где two's complement?

Они по размеру разные. Могут быть - bмеют право. У одних чуваков вообще char был 16-битный. Не потому что они уникод любят, а потому что их DSP напрочь не умеет работать с отдельными байтами. Определения базовых типов в сях и работа с ними вообще странные и оставляют желать.

> при чём тут размеры инта? O_O

А том, что если уж докапываться до работы с числами, размерность стандартных типов и все что вокруг - достаточно популярный источник грабель. В том числе и ведущих к переполнениям. Вон какой-нибудь автор LZ4 по жизни юзает 64-битную платформу, а проблемы нег^W 32-битных платформ его взволновали только после наглого жирного CVE...

> ты чем читал вообще? unsigned int тоже не особо определён в точных размерах,

Именно int - да, всякие (u)intXX_t - уже более определенные, хотя и тоже несколько через ж, ибо могут быть как равны желаемому размеру, так и больше чем.

> но оговорить в стандарте поведение uint при переполнении это отчего-то
> никому не помешало.

Да это был как еще 1 пример бестолковостей с типами. Если там докапываться - там много к чему докопаться можно.

> и сколько их?

Не знаю. Процов много разных бывает, вплоть до самопалов на FPGA и академизвращений типа subleq.

> а инвалиды должны эмулировать фичи, которые есть у большинства.

Да вообще пожалуй валидный пойнт. Правда опять же - а как carry вывешивать, чтобы математика не тормознула в разы? В лучшем случае математика укладывается в 1 регистровую операцию, напрямую буквально. Посмотреть что в carry - минимум еще 1 операция на большинстве процов. Т.е. математику можно минимум в пару раз посадить. Был бы это дотнет - там бы наверное сделали. А тут ... кому сильно надо, аргументы может и сам проверить. И вопрос еще - хуже ли это чем всю математику по скорости убить в разы дополнительными проверками carry в каждом закоулке.

Ответить | Правка | Наверх | Cообщить модератору

389. "Python признан самым популярным языком для начального..."  +/
Сообщение от arisu (ok), 19-Июл-14, 18:44 
> Они по размеру разные.

я всё равно из текста не понял, каким образом здесь *размер* относится к *представлению*. кроме того, что в Африке негры, а на орбите спутник.

> Да это был как еще 1 пример бестолковостей с типами.

ты как-то выделяй это, что ли. а то получалось, что «неопределённость размера инта не позволяет определить результат переполнения.»

>> и сколько их?
> Не знаю. Процов много разных бывает, вплоть до самопалов на FPGA и
> академизвращений типа subleq.

это круто. но тем не менее подавляющее большинство универсальных процессоров с целыми работает одинаково, имеет регистры, mov и carry flag. только комитету по стандартизации «близкого к железу» языка об этом почему-то никто не рассказал, а сами они никак узнать такое не могли.

> Правда опять же - а как carry вывешивать, чтобы математика не тормознула в разы?

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

прикинь: добавить, например, какой-нибудь iscarry(expr) — и… и опа! Очень Сложная Проблема успешно решена, потому что внутри expr си допускает всякие присваивания и прочие гитики. это так, простейшее решение за перекуром. что самое смешное — даже такое простое решение покроет огромное количество случаев, убрав многие идиотские танцы со сравнениями. и при этом если проверки не нужны — их точно так же не делают, как и раньше. ЧУДО!

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру