- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
int pixelRGBA(SDL_Surface * dst, Sint16 x, Sint16 y, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
{
··Uint32 color;
··/*
··* Check Alpha
··*/
··if (a == 255) {
····/*
····* No alpha blending required
····*/
····/*
····* Setup color
····*/
····color = SDL_MapRGBA(dst->format, r, g, b, a);
····/*
····* Draw
····*/
····return (fastPixelColor(dst, x, y, color));
··} else {
····/*
····* Alpha blending required
····*/
····/*
····* Draw
····*/
····return (pixelColor(dst, x, y, ((Uint32) r << 24) | ((Uint32) g << 16) | ((Uint32) b << 8) | (Uint32) a));
··}
}
Размашистые комментарии. Каждая строка - отдельный комментарий.
Код взят из SDL Gfx
tucvbif 22.03.2016 22:58 # +1
Странно, правда, что нет комментариев типа «красный цвет сдвигаем на 24 бита, чтобы он попал в самый старший байт, зелёный — сдвигаем на 16 бит, чтобы попал в средний»
KEKC 22.03.2016 23:03 # +1
Antervis 23.03.2016 11:08 # 0
В его компетентности можно было усомниться лишь на основании того, что об ООП препод не слышал. Шел 2014-й год...
kegdan 23.03.2016 11:38 # 0
Может он хочет чтобы вы так думали
KEKC 23.03.2016 13:46 # 0
Странно, что об ООП он не слышал, потому что Н. Вирт - создатель Паскаля - ещё в 80-х годах занимался разработкой новых языков (Модула, Оберон), где развивал ООП, но только в менее рекламном виде (вместо "классов" в Обероне просто "расширяемые записи", но суть одна и та же, только без лишних терминов и усложнений - главная идея была сделать язык в. у. как можно более простым). В СССР об этом книжки были тоже.
gost 24.03.2016 17:58 # 0
>Си
Что, простите?
KEKC 24.03.2016 22:12 # 0
guest 24.03.2016 23:37 # 0
оба языка появились очень давно
оба до сих пор используются
разница лишь в том, что в сях нет всей современной моднятины типа ООП, шаблонов, потоков, и замыканий
Да и то в классических сях
а объектных есть
KEKC 25.03.2016 03:27 # 0
guest 25.03.2016 00:16 # 0
Это называется "водопад", и это не работает уже лет 20 как.
Пока вы будете писать программу целиком на птичьем языке (и тесты к ней не Gherkin) Ваши конкуренты купят Ваш старптап, а Вас уволят
KEKC 25.03.2016 03:27 # 0
tucvbif 25.03.2016 10:56 # −1
современные языки: Питон, Си, Си++ для этого как правило не годятся (главным образом, из-за недостаточно строгой типизации или отсутствия необходимости объявлять переменные подобающим образом).
И как это влияет на написание программы на псевдокоде?
kegdan 25.03.2016 11:16 # 0
абак, что ли?
tucvbif 25.03.2016 12:54 # −1
kegdan 25.03.2016 12:55 # 0
tucvbif 25.03.2016 12:56 # −1
inkanus-gray 25.03.2016 12:59 # +1
tucvbif 25.03.2016 13:07 # −1
tucvbif 25.03.2016 13:09 # −1
kegdan 25.03.2016 13:39 # 0
tucvbif 25.03.2016 13:40 # −1
kegdan 25.03.2016 13:57 # 0
Хотя если ты не знаешь Зеро и Экса - то о чем с тобой говорить?
tucvbif 25.03.2016 14:00 # 0
kegdan 25.03.2016 14:29 # 0
вроде.
guest 25.03.2016 14:36 # 0
ебать, ты старый
kegdan 25.03.2016 14:37 # +1
guest 25.03.2016 14:38 # 0
Велосирапторы
Палеонтолги
Пусть не пиздят (С)
tucvbif 25.03.2016 14:54 # +2
мой слабообразованный друг
1024-- 25.03.2016 14:57 # 0
Существуют люди, которые пишут ПО для фотоаппаратов.
В честь Дзержинского был назван один из советских фотоаппаратов.
Написать ПО под него не получится, т.к. в частности на целевой платформе нет арифметики с плавающей запятой.
tucvbif 25.03.2016 15:07 # −1
Сдаётся мне, что причина не в арифметике с плавающей запятой
3.14159265 25.03.2016 15:01 # 0
>Говнокод.ру
>>как оно связано с темой разговора
>>Говнокод
inkanus-gray 25.03.2016 14:22 # 0
KEKC 25.03.2016 13:12 # 0
Проблема тут:
«остаётся только исправить опечатки и всё работает».
Например, один из зондов НАСА улетел не туда, потому что человек, который перепечатывал (исправный) код на Фортране, вместо запятой написал точку. Синтаксически это было верно, но программа сработала неверно. Всё из-за нестатической типизации.
tucvbif 25.03.2016 13:18 # −1
>> целевой платформы и общения с клиентом, которые оба оказались настолько же непригодные, как, видимо, и языки, на которых это писали.
Сразу непригодными оказались и клиент, и платформа, и язык, но никак не программист, не осиливший в гибкие методики
KEKC 25.03.2016 13:26 # +1
Гибкие методики тоже нужны для определённых, но не надо их возводить в абсолют. Программирование же должно перестать быть ремеслом и стать настоящей наукой. Для этого надо сосредоточить усилия не на гибких методиках, а на разработке настоящей, правильно сделанной, операционной среды, языка программирования, научной технологии программирования, решительно отказаться от влияния моды и от тех устоявшихся правил, которые являются пережитками.
tucvbif 25.03.2016 13:28 # −1
KEKC 25.03.2016 13:36 # 0
tucvbif 25.03.2016 15:13 # +2
KEKC 25.03.2016 15:15 # 0
tucvbif 26.03.2016 01:27 # +4
Ты СОВЕРШЕННО не понимаешь сути науки. Наука — это не искусство «о, привет чуваки, я придумал новую технику живописи, гы-гы». Наука — это не псевдоинтеллектуальные рассуждения философов. Наука — это не инженерия, менджмент или политика. Наука — это место, где люди могут побыть чудовищами — ужасными, бесчувственными, безразличными чудовищами, которыми они на самом деле и являются.
Женщина родила урода — мы изучаем. Метеорит уничтожил всех динозавров — мы изучаем.
Три школьницы прыгнули с крыши 16-этажного дома, взявшись за руки, а мы изучаем и просим ещё. Ядерный распад, энтропия, эпидемии — мы изучаем. Войны, загрязнение атмосферы, крокодилы-убийцы, рак, спид, беспричинная смерть — а мы изучаем. Чёрная дыра поглотила галактику — мы изучаем. Мы бездушно поставим эксперимент над чем угодно, наши предпочтения не основаны на здравом смысле, это — наша стихия, мы — истинное лицо науки.
guest 26.03.2016 01:28 # 0
пиздец(
KEKC 26.03.2016 04:13 # 0
Алхимия тоже когда-то существовала, из неё потом выросла химия, но алхимия была ещё не наукой. Так вот программирование в массах сейчас напоминает алхимию, хотя «химия» уже создана или находится в процессе становления.
tucvbif 26.03.2016 10:28 # −1
Где? Процитируйте, пожалуйста, фрагмент, из которого можно сделать такой вывод. Иначе ваш ответ — это клевета.
3_14dar 26.03.2016 04:25 # +1
KEKC 26.03.2016 04:31 # 0
1024-- 26.03.2016 06:39 # 0
Всякие теории о вычислимости, машинах Тьюринга, алгоритмы и их трудоёмкость, теории реляционных БД и так далее.
И некоторые это знают и используют.
> А вместо «сопромата» сейчас подсовывают библию и бубен.
Нечасто. Мне кажется, это аналогично всяким традициям (вроде традиции становиться под свой мост и отвечать головой за прочность) и суевериям (не говорить "последний полёт").
В программировании распространены чёрные ящики с кодом и описанием, какие параметры нужно подавать на вход, и какие результаты будут на выходе. Как мне кажется, это аналогично всяким инженерным таблицам, где написано "эту фигню можно нагревать до 50.3 градусов, эту - до 67.3 градусов, у той хрени плотность 3.2, а у той - 8.8", подразумеваются какие-то условия, не указывается, как вообще это посчитали и неизвестны промежуточные значения.
KEKC 26.03.2016 14:46 # +1
Под библией и бубном я имел в виду скорее превозношение ООП в стиле Си++ или Джавы, бесконечный разговор о «классах, методах, экземплятрах, полиморфизме» вместо простых расширяемых записевых типов. Всё это реклама: назовём процедуры методами, назовём записевые типы классами и т. д. В итоге новый уровень сложности, который приводит ко всяким ужасам вроде dynamic_cast, интерфейсам, замыканиям и прочему. Вот всё это и есть программистское суеверие и опора на авторитеты вместо научного подхода. Вывести из этого тупика может только время и революционный подход к делу отдельных групп программистов, которые покажут всем, что даже сверхсложные задачи гораздо эффективнее решать без всех этих бубнов. Например, два человека за 1 год могут написать операционную систему на языке высокого уровня с ООП (но с нормальным ООП, без рекламных ярлыков вроде «классов»), которая при этом обладает характеристиками, которыми не обладает ни одна другая ОС (например, динамической подгрузки модулей).
А другие два человека могут за год переписать эту ОС под свои нужды, изменив само ядро. Это примеры превосходства принципа: «Как можно просто, но не проще того», применённого в программировании.
Инженерные таблицы в программировании - это скорее описание алгоритмов сортировок и прочих.
tucvbif 26.03.2016 15:39 # +2
Это — как раз скорее в стиле «библии»
>в языке не должно быть break и goto
Это — не я плохой программист, это — язык плохой. Я понял твою позицию, дальше не продолжай.
KEKC 26.03.2016 17:35 # −1
Программист может быть сколь угодно хорошим, но на языке, позволяющим множество случайных ошибок, они будут обязательно происходить.
guest 26.03.2016 17:38 # +1
tucvbif 26.03.2016 21:00 # +2
KEKC 26.03.2016 22:46 # −1
У функциональных языков тоже свои проблемы, в том числе и у Хаскеля - исключить ошибки полностью невозможно. Но к некоторым задачам функциональные языки вообще неприменимы.
defecate-plusplus 27.03.2016 12:22 # +4
хотелось бы спросить за современные "ОС для АЭС, ЖД и спутников", а то ведь всё, что я гуглю, оно как бы к оберону имеет отношение как КЕКС к разработке программных продуктов за деньги (читай, профессионально):
* VxWorks - почитаешь в педивикии что это и куда оно летало и летает - из 3 компиляторов для системы все три C/C++ (и даже я сам в прошлом один раз писал модуль для этого, на чем? на сишке!), на чем написано не раскрыто (подозреваю, мешанина ассемблера и сишки)
* Rodos (я не знаю куда оно уже летает, но как я понимаю, самая что ни на есть ОС для спутников) - написана на С/C++/asm
вообще, полагаю, для спутника пишут ОС каждый раз заново - ибо спутник обычно монофункционален (в отличие от марсианского ровера), но тем не менее, давайте пробежимся по другим RTOS на рынке
defecate-plusplus 27.03.2016 12:39 # +3
* OS-9 - начиналась на асме, в конце 80х значительная часть переписана на С (так написано в педивикии)
* RTLinux - ну тут и так ясно
* ThreadX - вроде как используется для спутников - написана хз на чем, АПИ на сишке (мне даже пришлось скачать user guide, ведь инфы об ОС мало)
* RTEMS - военная американская ОС по их же военным стандартам (все помнят зачем разрабатывался язык Ада?) - теперь GPL, можно зайти в гит и кроме ада обнаружить там... С! в куче мест
* КЕКС, предложи уже свой вариант, а то я нашел только лишь одну ОС написанную на Обероне - А2, и медиаплеер, телнет, чат, 2 игры - вот это к спутникам ну нихуя не имеет отношения
вероятно, я темный и не умею гуглить, просвети нас
bormand 27.03.2016 12:58 # +2
Среди некоторых разработчиков бытует мнение, что высокая производительность и компактность микроядра QNX Neutrino является результатом того, что оно написано на ассемблере. Но это не так. Микроядро практически полностью написано на C.
defecate-plusplus 27.03.2016 13:45 # +3
у меня на факультете была такая кафедра, "Прикладная математика" называлась - вот там детей именно такой шнягой и кормили, вместо того, чтобы дать в руки хотя бы какой-то современный инструмент
оттуда же и ноги растут про буржуазию, явно недоплачивающую такому ценному кадру, и софизм про один ретурн - хули, когда лабы укладываются в 50 строк, можно и ограничения накладывать, "ведьпреподунепонятно!"
tucvbif 27.03.2016 14:54 # +1
gost 27.03.2016 14:33 # +1
Спасибо, смешной анекдот, пиши ещё.
1024-- 26.03.2016 20:51 # +1
>Это — как раз скорее в стиле «библии»
+1
>> превозношение ООП <...> В итоге новый уровень сложности, который приводит ко <...> интерфейсам, замыканиям и прочему.
А вот это - занятные вореции.
KEKC 26.03.2016 22:37 # −2
1024-- 26.03.2016 23:28 # +2
> Да никакая это не библия
Ну да, на такой большой документ не тянет, это да. Так, псевдозаповедь самопровозглашённого пророка.
> Если вы привыкли писать одни процедуры на две строчки, то это не значит, что сама возможность найти в середине кода return противоречит структурному программированию.
Логично. Из привычки и опыта конкретных лиц не следует противоречие конкретной реализации определённой формальной системе.
> Надеюсь, о пользе структурного программирования никто не будет спорить?
Наверно никто не будет. Поспорить можно о пределах применимости, но не в этот раз.
KEKC 26.03.2016 23:33 # −1
Вижу я, что этот сайт намного более говно, чем даже можно понять из названия.
1024-- 27.03.2016 10:09 # +2
Так и прекратите их, довольно.
> Есть что по делу сказать?
"почему return надо ставить только в конце процедуры" к науке не относится, это из области личных мнений
kegdan 27.03.2016 10:14 # +4
Кекс, брекс, фекс, а зачем вы сидите на сайте, который намного более говно, чем даже можно понять из названия? Вы безумны? Простите нам наше счастье и идите дальше
tucvbif 26.03.2016 15:58 # −1
>>приводит ко всяким ужасам вроде dynamic_cast, интерфейсам, замыканиям и прочему.
>>но с нормальным ООП, без рекламных ярлыков вроде «классов»
Вмемориз. Пеши исчо.
guest 26.03.2016 17:00 # +4
KEKC 26.03.2016 17:25 # −1
Все эти вопросы подробно разобраны в научных статьях. См. Дейкстра, Вирт, Кнут и др.
guest 26.03.2016 17:28 # +1
KEKC 26.03.2016 17:52 # −1
guest 26.03.2016 17:52 # 0
KEKC 26.03.2016 22:47 # −1
guest 26.03.2016 17:32 # +1
Просто на ООП это делать удобнее.
Все современные ОС умеют динамически подгружать модули. man dlopen, MSDN LoadLibrary, не пишите чушь
KEKC 26.03.2016 17:49 # −1
bormand 26.03.2016 07:20 # +2
Проблема в том, что большинство программистов занимается разработками, грубо говоря, вешалок для одежды и заборчиков, а не мостов... И применять тут серьёзный подход - долго и дорого. Заказчику не понравится. Отсюда и результат.
KEKC 26.03.2016 14:51 # +1
Когда программирование разовьётся до науки, то «вешалки и заборчики» будут строить обычные люди, все будут уметь программировать. В итоге общество совободит огромные ресурсы, и программисты-вешальщики наконец-то смогут заняться чем-то более полезным. Например, вытачивать детали на заводе.
tucvbif 26.03.2016 15:48 # 0
(Не в смысе, что те люди были глупыми — скорее всего их IQ был заметно выше среднего. Просто они слишком переоценивали свой разум, за что и поплатились)
KEKC 26.03.2016 17:32 # +1
Практика критерий истины, и практика показывает, что социализм - единственный и неизбежный путь развития общества. Капитализм отжил своё и превратился в реакционную раковую опухоль, которая неспособна даже на постройку заводов, а вместо этого занимается эксплуатацией «развивающихся» стран и проеданием советского наследия.
Ваше мнение (и это именно мнение, подобное тому, что «2 + 2 = 5») не основано ровным счётом ни на каких фактах, вы считаете, что это мнение ваше личное, однако оно навязано государственной буржуазной пропагандой, сванидзатом и либеральщиной.
Люди, которые построили СССР, о котором вы говорите, ни за что не поплатились, а построили самую мощную в мире страну, где люди жили наиболее счастливо.
guest 26.03.2016 17:34 # 0
Сама природа доказала что коммунистические режимы не жизнеспособны, и уж конечно они не способны создать ничего интересного для IT. Все советские разработки закончились еще в 70х.
KEKC 26.03.2016 17:43 # 0
Наоборот, это вы верите в то, что коммунизм - это сказка. Вы услышали об этом по телевизору, вам это вбила Западная - в том числе и российская - пропаганда, но вы, как человек не любящий истину, не пропустили это через сомнение, а приняли на веру.
Начав изучать марксизм, вы, возможно, удивитесь, насколько он научнен в высшей степени этого слова.
Коммунистические страны живы до сих пор и люди в них живут счастливо и культурно развиваются, не смотря на жесточайшие санкции и необходимость отражать сильнейшие угрозы со стороны США. И даже в отсутствии СССР эти страны процветают.
В 70-х советские разработки были «закончены» сверху преступным указом одного из прогнивших чиновников о переходе на Западные системы.
guest 26.03.2016 17:46 # +1
С коммунистами спорить бесполезно, это еще Марк Твен сказал: Никогда не спорьте с идиотом
KEKC 26.03.2016 17:56 # 0
А почему не приводишь пример с бомбёжками Югославии со стороны США и Европы? Это была процветающая страна. Там тоже был голод и огромное количество смертей. Приведи и этот пример для полной «объектвиности». Какая разница, что эту страну бомбили американцы? В ней же голодали люди, значит всё.
Такая же логика и с КНДР. Перекройте стране с горной местностью доступ к продуктам питания, несмотря на то, что она может их закупать, и там начнётся голод. Однако, если такое сделать с любой капиталистической страной, умрут порядка 90% населения. При социализме это невозможно в принципе.
guest 26.03.2016 17:59 # 0
коммунистичкие режимы или дохнут (как в Европе) или превращаются в капиталистические (как в Китай) или гниют заживо от голода и тоже начинают "праветь" (как куба и кндр)
Причем тут югославия, дурачок? при чем тут вообще америкосы?
коммунизм это рак, он убивает любую страну
KEKC 26.03.2016 22:50 # −1
KEKC 26.03.2016 22:50 # −1
KEKC 26.03.2016 17:58 # +3
tucvbif 26.03.2016 18:04 # 0
KEKC 26.03.2016 18:05 # −1
guest 26.03.2016 17:41 # +1
90% программерских работ не требуют ни знания алгоритмов, ни понимания арзхитектуры ОС и ЭВМ.
И уж точно не требуют ВО.
KEKC 26.03.2016 17:44 # −1
guest 26.03.2016 17:45 # 0
Программирование системы есть настройка её на выполнение нужных действий
Программирование АТС
Программирование установщика Windows AIK посредством файла ответов
Программирование виртуальной машины Java посредством Java
Программирование ARMа посредством ассемблера
нет разницы
KEKC 26.03.2016 18:04 # −1
Таким образом, есть программирование с большой буквы, а есть переферийные . И только то первое, серьёзное программирование может двигать науку вперёд. Делание глубоких «теоретических» выводов на основе лишь переферийного программирования (настройки АТС, установка Microsoft Word и т. п.) - это топтание на месте, а не движение вперёд.
tucvbif 26.03.2016 19:17 # +1
>>программирование с большой буквы
>>движение вперёд
Больше лозунгов для бога ло…мировой революции!
KEKC 26.03.2016 19:22 # −1
guest 26.03.2016 19:23 # +1
а ты люмпен, доедаешь последний доширак
потому что ты лентяй, дурак и пустобрех
как все леваки
KEKC 26.03.2016 19:30 # −1
guest 26.03.2016 20:21 # 0
guest 26.03.2016 19:19 # 0
и программировать Вы не умеете
tucvbif 26.03.2016 20:28 # 0
KEKC 26.03.2016 21:56 # 0
tucvbif 26.03.2016 22:22 # +1
Kislorod 26.03.2016 22:28 # −1
dxd 23.03.2016 13:07 # 0
KEKC 23.03.2016 13:47 # 0
И почему бы их не написать в одну строчку?
Или в две:
dxd 23.03.2016 14:27 # 0
KEKC 23.03.2016 14:36 # 0
bormand 23.03.2016 19:11 # 0
guest 24.03.2016 23:37 # 0
а альфа канал вообще не двигают
guest 25.03.2016 08:45 # +6
tucvbif 25.03.2016 21:32 # +2
guest 25.03.2016 20:52 # 0
tucvbif 26.03.2016 17:51 # +1
KEKC 26.03.2016 22:38 # 0
tucvbif 26.03.2016 22:46 # +3
KEKC 26.03.2016 22:53 # −3
tucvbif 26.03.2016 23:11 # +4
KEKC 26.03.2016 23:19 # 0
tucvbif 26.03.2016 23:48 # +3
inkanus-gray 28.03.2016 19:19 # 0
tucvbif 28.03.2016 22:50 # 0
105_306330_ru 24.08.2021 20:46 # 0