The OpenNET Project / Index page

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



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

Оглавление

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

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


27. "Python признан самым популярным языком для начального обучен..."  –1 +/
Сообщение от Серж (??), 08-Июл-14, 12:30 
Паскаль всё так же преподают. Хотя неясно, в чём проблема изучать Си, если даже школьники с этим справляются.
Ответить | Правка | Наверх | Cообщить модератору

50. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от rob pike (?), 08-Июл-14, 13:59 
Считается что большинство людей по какой-то причине неспособны понять концепцию указателей.
Ответить | Правка | Наверх | Cообщить модератору

62. "Python признан самым популярным языком для начального обучен..."  –1 +/
Сообщение от клоун (?), 08-Июл-14, 14:25 
Большинству людей это нафиг не нужно. Также как и высшая математика, физика и пр. науки в том объёме в котором их преподают. И проверка остаточных знаний это ярко показывает.
Ответить | Правка | Наверх | Cообщить модератору

65. "Python признан самым популярным языком для начального обучен..."  +5 +/
Сообщение от YetAnotherOnanym (ok), 08-Июл-14, 14:27 
> Большинству людей это нафиг не нужно. Также как и высшая математика, физика
> и пр. науки в том объёме в котором их преподают. И
> проверка остаточных знаний это ярко показывает.

Тех, кому это не нужно - гнать пропитанными тряпками из профессии.

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

117. "Python признан самым популярным языком для начального обучен..."  +1 +/
Сообщение от rob pike (?), 08-Июл-14, 17:33 
Как и само это большинство людей.

>Foxconn намерена заменить своих сотрудников роботами Foxbot
>http://www.ixbt.com/news/hard/index.shtml?18/10/27

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

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

Ну так участь у биороботов такая.

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

144. "Python признан самым популярным языком для начального обучен..."  –1 +/
Сообщение от Аноним (-), 08-Июл-14, 18:14 
> Считается что большинство людей по какой-то причине неспособны понять концепцию указателей.

Понять концепцию указателей не сложнее чем понять концепцию индекса в массиве. Память - тоже массив, а указатель - индекс в нем. Просто это суперглобальный массив, который содержит в себе все остальное. Чего там понимать то?

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

152. "Python признан самым популярным языком для начального обучен..."  +1 +/
Сообщение от rob pike (?), 08-Июл-14, 18:22 
Вы у тех кто не понимает спросите.

А объяснение ваше на самом деле очень сложное, вот то ли дело моанада - просто моноид в категории эндофункторов.

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

167. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от Аноним (-), 08-Июл-14, 18:37 
> Вы у тех кто не понимает спросите.

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

> А объяснение ваше на самом деле очень сложное,

Чего там сложного? Вложенность одной сущности в другую - обычное дело в программировании, без осознания таких базовых вещей в программировании вообще дальше hello world не уедешь.

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

169. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от rob pike (?), 08-Июл-14, 18:41 
> Боюсь что при таком уровне понимания у них просто проблемы с логическим
> мышлением и единственное что им следует программировать - метлу.

Разумеется, нет. Если бы всё было так просто, "проблемы указателей" не возникло бы как таковой.
Эти люди нормально пишут на разных языках, а вот именно указатели вызывают у них ступор.

> Чего там сложного?

А чего сложного в определении монады?
Для того чтобы чем-то пользоваться, нужно в первую очередь интуитивное понимание, определения мало помогают.

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

191. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от Аноним (-), 08-Июл-14, 19:28 
> Разумеется, нет. Если бы всё было так просто, "проблемы указателей" не возникло
> бы как таковой.

Еще раз, если некто не может понять массивы и вложенность - какой из них программист, а?

> интуитивное понимание, определения мало помогают.

"Возьми третий стакан со второй полочки из шкафа". Вполне себе адресация массива и вложенность.

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

195. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от rob pike (?), 08-Июл-14, 19:40 
Индексацию массива и вложенность (тех же массивов) он понимают.
Не понимают они - указатели.

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

306. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от Аноним (-), 09-Июл-14, 10:47 
> Не понимают они - указатели.

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

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

201. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от Forthemail (ok), 08-Июл-14, 20:16 
моноид в моноидальной категории эндофункторов.
Ответить | Правка | К родителю #152 | Наверх | Cообщить модератору

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

И эта причина - отсутствие функционального головного мозга при огромной креативности (т.е. высокой активности спинного). Симптомы - полагаются на существование "универсальных паттернов программирования" для большинства/всех языков, которые достаточно вызубрить...

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

193. "Python признан самым популярным языком для начального обучен..."  +2 +/
Сообщение от www2 (??), 08-Июл-14, 19:34 
>Считается что большинство людей по какой-то причине неспособны понять концепцию указателей.

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

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

202. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от angra (ok), 08-Июл-14, 20:18 
Вы забыли сказать, что он мертв уже лет 15.
Ответить | Правка | Наверх | Cообщить модератору

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

жив в реинкарнации free pascal. Директива компилятору - {$TP}.

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

336. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от angra (ok), 09-Июл-14, 15:28 
А еще его можно под dosbox запустить. Во всяких школах и ВУЗах так и делают, не переучивать же не блещущих интеллектом преподов и не переписывать же программу. Вот только поднятый из могилы зомби все-равно остается мертвяком, даже если умеет шевелить лапками.
Ответить | Правка | Наверх | Cообщить модератору

343. "Python признан самым популярным языком для начального обучен..."  –1 +/
Сообщение от chinarulezzz (ok), 09-Июл-14, 19:53 
> А еще его можно под dosbox запустить. Во всяких школах и ВУЗах
> так и делают, не переучивать же не блещущих интеллектом преподов и
> не переписывать же программу. Вот только поднятый из могилы зомби все-равно
> остается мертвяком, даже если умеет шевелить лапками.

Реализация мертва, диалект нет. Также, как сейчас пишут на ansi c. Или вообще на си, он давно зомби, но не будем об этом :D

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

309. "Python признан самым популярным языком для начального обучен..."  –1 +/
Сообщение от Аноним (-), 09-Июл-14, 10:55 
> Си. Си как язык очень примитивен (это я имею в виду
> без библиотек, даже стандартных)

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

> и содержит массу способов писать неочевидный код.

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

> Паскаль, по крайней мере в его Турбо реализация фактически являющейся вариантом
> Модулы, очень недооценён.

Почему же, для обучения нормальная штука. Покажет как надо. Но после сей на нем программить что-то не хочется, извините :).

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

274. "Python признан самым популярным языком для начального обучен..."  –1 +/
Сообщение от chinarulezzz (ok), 09-Июл-14, 07:20 
> Считается что большинство людей по какой-то причине неспособны понять концепцию указателей.

указатели, стек, куча, компилятор, препроцессор, void, null, заголовки и непонятные проверки на загруженность одной копии хидера (емнип, забыл нахер это всё как страшный сон :D).
Всё это понадобилось чтоб просто написать один достаточно маленький код. Сишка - грузит знаниями ненужных вещей, архитектуры железа, которые просто необходимо знать, чтоб написать работающее приложение. По крайней мере - стабильно работающее, уж не говоря про безопасное.

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

310. "Python признан самым популярным языком для начального обучен..."  +2 +/
Сообщение от Аноним (-), 09-Июл-14, 10:57 
> По крайней мере - стабильно работающее, уж не
> говоря про безопасное.

Ты не напишешь ни стабильное, ни тем более безопасное приложение ни на одном ЯП. Просто потому что тыр-пыр-восемь-дыр - это не "стабильное и безопасное приложение". Это кусок кривого гомнокода от скрипткидиса, не знающего массу базовых вещей, но мнящего себя пупом земли и экспертом мирового класса. Что как раз очень способствует небезопасности и глюкавости программ.

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

342. "Python признан самым популярным языком для начального обучен..."  –1 +/
Сообщение от chinarulezzz (ok), 09-Июл-14, 19:41 
>> По крайней мере - стабильно работающее, уж не
>> говоря про безопасное.
> Ты не напишешь ни стабильное, ни тем более безопасное приложение ни на
> одном ЯП. Просто потому что тыр-пыр-восемь-дыр - это не "стабильное и
> безопасное приложение". Это кусок кривого гомнокода от скрипткидиса, не знающего массу
> базовых вещей, но мнящего себя пупом земли и экспертом мирового класса.
> Что как раз очень способствует небезопасности и глюкавости программ.

никто никем себя не мнёт, не наезжай на меня))

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

365. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от Аноним (-), 16-Июл-14, 08:46 
Да это даже не столько наезд, сколько капитанинг :(.
Ответить | Правка | Наверх | Cообщить модератору

367. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от chinarulezzz (ok), 16-Июл-14, 09:28 
> Да это даже не столько наезд, сколько капитанинг :(.

нострадаминг это, вангинг (прости господи), и придуминг с потолкинг) Проще говоря - переходинг на личностинг)

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

378. "Python признан самым популярным языком для начального обучен..."  +1 +/
Сообщение от Аноним (-), 18-Июл-14, 09:16 
Ну, блин, а что делать если "ламер - это чайник, который мнит что круто заварен"? При этом любители питона как правило не знают самых базовых вещей и страдают велосипедизмом в хучшем виде, т.е. "чайник" - имеется. А ЧСВ и апломб, всякое там показное презрение к ручному управлению памятью и прочему - "мнит что круто заварен".
Ответить | Правка | Наверх | Cообщить модератору

382. "Python признан самым популярным языком для начального обучен..."  –1 +/
Сообщение от chinarulezzz (ok), 18-Июл-14, 17:39 
> Ну, блин, а что делать если "ламер - это чайник, который мнит
> что круто заварен"? При этом любители питона как правило не знают
> самых базовых вещей и страдают велосипедизмом в хучшем виде, т.е. "чайник"
> - имеется. А ЧСВ и апломб, всякое там показное презрение к
> ручному управлению памятью и прочему - "мнит что круто заварен".

ладно, так и быть, я ламер, чайник и велосипедист, убедил. Считаю тебя идиотом, а себя крутым кодером. Просто не хотел сразу признаваться, прости.

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

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

А зачем тратить время на то, что не должно изучаться в рамках предмета, Си позволяет сделать больше трудноуловимых ошибок, в итоге при неудачном стечении обстоятельств предмет может превратиться в "поиск ошибок и описок в коде на языке Си".

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

149. "Python признан самым популярным языком для начального обучен..."  +2 +/
Сообщение от Аноним (-), 08-Июл-14, 18:20 
> А зачем тратить время на то, что не должно изучаться в рамках
> предмета, Си позволяет сделать больше трудноуловимых ошибок,

Больше чем ... что? Чем гвидобэйсик? ЩАЗЗЗЗ. Си обложит вас по несовпадению скобок, etc - вы заметите что логика программы не та которую вы задумывали из-за косяка. В питоне же можно стереть пару отступов. Ошибок не произойдет, просто втихаря сломается логика. А вот найти это потом будет крайне нетривиально.

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

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

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

Ну вот в C++ вот это строчка:
A a(i);
может быть и созданием объекта на стеке и объявлением функции. Но большинство ошибок идет не из-за синтаксиса, а семантики.

> В питоне же можно стереть пару отступов.

Это часто заканчивается исключением SyntaxError. Зато обязательные отступы защищают глаза преподов от вытекания

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

Они до первого SIGSEGV/переполнения/etc. предсказуемы. За надежностью программ на С стоит много пота, крови и бессонных ночей их разработчиков.

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

170. "Python признан самым популярным языком для начального обучен..."  +2 +/
Сообщение от Аноним (-), 08-Июл-14, 18:52 
> Ну вот в C++ вот это строчка:

Алё! Мы про си вроде? Си++ уже совсем другое дело. Си++ сложен и вообще совсем не для нубов. Учиться программировать на си++... ну, знаете, тогда учиться ходить надо начинать с паркура и альпинизма, а катание на велике - со спуска по даунхильной трассе. Я вас правильно понимаю?

> Это часто заканчивается исключением SyntaxError.

Ни разу не обязано.

> Зато обязательные отступы защищают глаза
> преподов от вытекания

Вон тут Шигорин приводил пример очень читаемого кода. Он, конечно, отформатирован, но радости с этого немного.

> Они до первого SIGSEGV/переполнения/etc. предсказуемы.

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

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

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

204. "Python признан самым популярным языком для начального обучен..."  –1 +/
Сообщение от Forthemail (ok), 08-Июл-14, 20:21 
> Не знаю какой пудак придумал формировать логику отступами, но мне эта идея
> кажется идиoтизмом в терминальной стадией. Маркеры начала и конца логического блока
> все-таки позволяют ловить дурные ошибки такого типа по несовпадению пар маркеров

Два отступа это очень много, трудно не заметить оператор, который "свалился" не в свой блок


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

313. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от Аноним (-), 09-Июл-14, 11:07 
> Два отступа это очень много, трудно не заметить оператор, который "свалился" не в свой блок

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

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

153. "Python признан самым популярным языком для начального обучен..."  +/
Сообщение от rob pike (?), 08-Июл-14, 18:23 
А что должно изучаться в рамках предмета?
Ответить | Правка | К родителю #82 | Наверх | Cообщить модератору

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
Добавить, Поддержать, Вебмастеру