Добре дошъл/дошла, Гост. Моля, въведи своето потребителско име или се регистрирай.
Ноември 21, 2024, 20:06:11

Автор Тема: Real Programmer  (Прочетена 66632 пъти)

0 Потребители и 8 Гости преглежда(т) тази тема.

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Real Programmer
« -: Март 09, 2019, 05:36:35 »
Историята на Мел
Изпратена в USENET от нейния автор Ед Нетер на 21 май 1983 г.

Наскоро в една статия, посветена на истинския “мъжки” стил на програмиране, се появи смелото и категорично твърдение:
Истинският програмист пише на Fortran.
Може би сега в тази упадъчна ера на светла бира, джобни калкулатори и приятелски интерфейс, но в Доброто Старо Време, когато “софтуер” звучеше непознато и Истинските Компютри бяха направени от барабани и електронни лампи, Истинските Програмисти пишеха на машинен код. Не на Fortran. Не на BASIC. Дори не на Assembler. Машинен код. Груби, прозаични, неразбираеми шестнадесетични цифри. Директно.
За да не израсне цяло едно поколение от програмисти, без да познава това славно минало, аз се чувствам морално задължен да опиша толкова добре, колкото ми позволява разликата в поколенията, как пишеше тогава Истинският Програмист.   Ще го наричам Мел, понеже това беше неговото име.
За пръв път срещнах Мел, когато започнах работа при Royal McBee Computer Corp., отдавна несъществуващ филиал на компанията за пишещи машини. Фирмата произвеждаше LGP-30, малък, евтин (за онова време) компютър с барабанна памет и тъкмо започваше да произвежда RPC-4000 – по-усъвършенстван компютър, по-голям, по-добър, по-бърз …   с барабанна памет. Магнитните сърцевини струваха твърде много, а и без това не им беше там мястото. (Затова не сте чули нито компанията, нито компютъра.)
Бях нает да напиша компилатор за Fortran за това ново чудо и Мел ме посвещаваше в тайните му. Мел не обичаше компилаторите.
“Ако програмата не може да възпроизведе собствения си код – казваше той – каква е ползата от нея?”
Мел беше написал в шестнадесетичен код най-популярната компютърна програма, която компанията притежаваше. Работеше на LGP-30 и играеше на “21” с потенциалните купувачи по компютърните изложби.   Ефектът й винаги беше драматичен. На всяка изложба павилионът на LGP-30 беше пълен, а търговските посредници на IBM стояха отстрани, говорейки помежду си. Дали това се отразяваше на продажбите, беше въпрос, на който никога не сме се спирали.
Работата на Мел бе да преработи програмата за “21” за RPC-4000. (Порт? Какво означава това?) Новият компютър имаше адресна схема “едно плюс едно”, в която всяка машинна инструкция в добавка към кода на операцията и адреса на операнда имаше втори адрес, указващ къде на въртящия се барабан се намира следващата инструкция.
Както бихме казали днес, след всяка инструкция следваше GOTO! Направете от това блок-схема!
Мел обичаше RPC-4000, защото можеше да оптимизира кода си: като подреди инструкциите върху барабана така, че точно когато едната си е свършила работата, следващата да пристигне под четящата глава и да бъде на разположение за незабавно изпълнение. Имаше програма, която правеше точно това – “оптимизиращ асемблер”, но Мел отказваше да я използва.
“Никога не знаеш къде ще сложи нещата – обясняваше той, – така че трябва да ползваш отделни константи.”
Мина много време, преди да разбера тази забележка. Тъй като Мел помнеше шестнадесетичното представяне на код на всяка операция и присвояваше свои собствени адреси от барабанната памет, всяка инструкция, написана от него, би могла да се разгледа като числова константа. Той можеше да вземе предишна инструкция и да я използва като операнд при следващото умножение, ако тя съответстваше на необходимата числена стойност. Програмата му трудно можеше да се променя от друг.
Сравнявал съм ръчно оптимизираните програми на Мел със същия код, преработен от оптимизиращия асемблер. Тези на Мел винаги работеха по-бързо. Причината бе, че методът за програмиране “от вън на вътре” все още не беше измислен, а и Мел едва ли щеше да го използва. Той пишеше първо най-вътрешните цикли в програмата, така че достъпът до тях да е най-бърз. Оптимизиращият асемблер не беше достатъчно умен, за да работи по този начин.
Мел също никога не пишеше закъснителни цикли, дори когато упоритият Flexowriter изискваше закъснение между отделните символи, за да работи както трябва. Той просто разполагаше инструкциите върху барабана така, че всяка следваща беше току-що отминала четящата глава и барабанът трябваше да направи още един цял оборот, преди да я намери. Той беше измислил незабравим термин за тази процедура. Въпреки че “оптимален” е абсолютно определение също като “уникален”, стана практика да се превръща в относителен: “не докрай оптимален”, или “не много оптимален”. Мел наричаше прехода с максимално времезакъснение “най-песимален”.
След като завърши програмата за игра на “21” и я настрои за работа (“Дори инициализацията е оптимизирана” – каза той гордо), се получи Заявка За Промяна от отдела за продажби. Програмата използваше елегантен (оптимизиран) генератор на случайни числа за разбъркване на и раздаване на “картите” от “тестето” и някои от търговските посредници бяха решили, че е прекалено честна, тъй като понякога клиентите губеха. Искаха Мел да преработи програмата така, че със сензорен превключвател на конзолата раздаването да се промени и клиентът да спечели.
Мел се опъна. Той определи това като явна несправедливост, каквато си беше, и като посегателство върху неговата лична почтеност на програмист, какъвто си беше, и отказа да го направи. Търговският директор разговаря с Мел, както и Шефът на фирмата, а по негово настояване и няколко колеги програмисти. Накрая Мел се предаде и написа кода, но беше обърнал условието – когато се включеше сензорният превключвател, програмата играеше нечестно, побеждавайки всеки път.
Мел ахна. Заяви, че подсъзнанието му е неконтролируемо честно, и твърдо отказа по-нататъшни промени.
След като Мел напусна компанията за по-зелени па$бища, Шефът ме помоли да погледна кода и ако успея да намеря проверката да я обърна. Малко неохотно се съгласих да погледна. Да трасираш код написан от Мел, беше истинско приключение.
Винаги съм смятал, че програмирането е изкуство, чиято истинска стойност може да се оцени само от друг, посветен в това тайнство; има прекрасни бисери и поразителни хрумвания, скрити от човешкия поглед и възхищение понякога завинаги поради самото естество на процеса. Можеш да научиш много за един човек само като четеш кода, който е написал, дори в шестнадесетичен вид. Мисля, че Мел беше невъзпят гений.
Може би най-големият шок дойде, когато намерих съвсем невинен цикъл, в който липсваше проверка. Нямаше проверка. “Нищо”. Според здравия разум това би трябвало да бъде безкраен цикъл, където програмата ще остане да се върти завинаги. Изпълнението обаче минаваше през него и продължаваше спокойно. Отне ми две седмици докато го проумея.
RPC-4000 беше осъвременен с т.нар. индексен регистър, позволяващ на програмиста за напише цикъл, който да използва вътре в себе си индексирана инструкция. Всеки път стойността на индексния регистър се прибавя към адреса на тази инструкция, така че да сочи към следващата данна в поредицата. Трябваше само всеки път да се увеличава стойността на индексния регистър. Мел никога не използваше индексния регистър.
Вместо това той изтегляше инструкцията в машинния регистър, добавяше единица към адреса й и я записваше обратно. След това изпълняваше преработената инструкция направо от регистъра. Цикълът беше написан така, че времето за това събиране да бъде точно толкова, колкото е необходимо, за да бъде изпълнена инструкцията, а следващата да се придвижи под четящата глава на барабана, готова за изпълнение. Но цикълът нямаше проверка.
Хванах нишката, когато забелязах, че флагът на индексния регистър, разположен между адреса на инструкцията и кода на операцията в машинната дума, е вдигнат – въпреки че Мел никога не използваше индексния регистър, оставяйки го нулиран през цялото време. Когато лампичката ми светна, едва не ме ослепи.
Той беше разположил данните в горния край на паметта – последното пространство, което инструкциите можеха да адресират, така че, след като последната данна бъде обработена, увеличаването на адреса на инструкцията да го препълни. Преносът ще прибави единица към кода на операцията, превръщайки в следващата команда от набора: jump инструкция. Разбира се следващата инструкция беше разположена на адрес нула и програмата продължаваше щастливо по пътя си.
Не съм се чувал с Мел, така че не знам дали той някога е отстъпил пред промените, залели техниката на програмиране през годините, изминали оттогава. Иска ми се да вярвам че не е. Във всеки случай бях до толкова впечатлен, че се отказах да търся “обърканата” проверка, като казах на Шефа, че не мога да я намеря. Той не бе изненадан.
Когато напуснах компанията, програмата за игра на “21” все още мамеше, ако се натисне сензорният превключвател, и мисля, че така се е редно. Не ми бе приятно да бърникам в кода на един Истински Програмист.
« Последна редакция: Октомври 05, 2019, 20:08:22 от Engels »
"The future is already here – it's just not evenly distributed."

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
PIC16FХХ PIC Microchip Асемблер, Дизасемблер и Емулатор
« Отговор #1 -: Октомври 04, 2019, 17:29:10 »
PIC16FХХ PIC Microchip Асемблер, Реасемблер и Емулатор
Система команд PIC-контроллеров серии PIC16FXXX
http://www.asterpic.narod.ru/PIC16FXXX.htm
« Последна редакция: Октомври 08, 2019, 02:39:16 от Engels »
"The future is already here – it's just not evenly distributed."

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #2 -: Октомври 05, 2019, 20:50:17 »
"Ассемблер и дизассемблирование"






"The future is already here – it's just not evenly distributed."

Неактивен onzi

  • Just Member
  • *****
  • Коментари: 7910
    • Профил
Re: Real Programmer
« Отговор #3 -: Октомври 05, 2019, 21:39:14 »
енгелсе,

тва дето си го описал, е занаятчийство. в реалния живот не можеш да пишеш програма, която е неразбираема за останалите. в реалният живот този код просто няма да бъде одобрен и моментално или при първата възникнала необходимост ще бъде пренаписан.

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

Неактивен аменеменема

  • Just Member
  • *****
  • Коментари: 3682
    • Профил
Re: Real Programmer
« Отговор #4 -: Октомври 05, 2019, 21:40:47 »
Quote (selected)
Да видим какво казва по този въпрос авторът на книгата "Ассемблер и дизассемблирование"
Каквото казва няма никакво отношение към въпроса, който по начало обсъждахме. Нито пък дизасемблирането има.

Неактивен micky

  • Just Member
  • *****
  • Коментари: 5303
    • Профил
Re: Real Programmer
« Отговор #5 -: Октомври 05, 2019, 21:42:46 »
Но пък тук добре се паркирахте да си мерите инструкциите!
Този пост вероятно съдържа продуктово позициониране на тема Армията на Федерацията. Преди употреба, прочете листовката!

Неактивен аменеменема

  • Just Member
  • *****
  • Коментари: 3682
    • Профил
Re: Real Programmer
« Отговор #6 -: Октомври 05, 2019, 21:51:15 »
Quote (selected)
Но пък тук добре се паркирахте да си мерите инструкциите!
Бе аз нямам намерение нищо да меря, поне не сега и тук.
Ама то и не става дума за програмиране.  Енгелс отдавна иска да припише някаква „диалектичност“ на програмирането и за целта си фантазира едно-друго. Се ено поет да се захване с програмиране – ени ми ти видения, ени ми ти гиперболи, не ти е работа.

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #7 -: Октомври 05, 2019, 23:05:28 »
Първо да изясним какво е диалектическа и какво формална (математическа, метафизическа) логика. Най точно е определението на Фридрих Енгелс:
Quote (selected)
За метафизика нещата и техните мисловни отражения, тоест понятията, са изолирани, неизменни, застинали, веднъж завинаги дадени предмети, които трябва да бъдат изследвани само един след друг и независимо един от друг. Метафизикът мисли само чрез неопосредствувани противоположности; неговата реч се състои от: "Да-да, не-не, всичко друго е от Лукавия". За него нещото или съществува, или не съществува: нещото не може да бъде то самото и същевременно нещо друго. Положителното и отрицателното се изключват абсолютно едно друго; причината и следствието се намират също така в неизменна противоположност помежду си. Този начин на пръв поглед ни се струва съвсем приемлив, защото е присъщ на така наречения здрав човешки разсъдък. Но здравия човешки разсъдък, колкото и почтен спътник да е той в домашната обстановка, между четирите стени, преживява най-чудни приключения, щом дръзне да излезе на широкия простор на изследването. Метафизическия начин на мислене, макар и да е оправдан и дори необходим в известни области, повече или по малко обширни в зависимост от характера на предмета, рано или късно достига до предели,отвъд които той става едностранчив, ограничен, абстрактен и се заплита в неразрешими противоречия, тъй като поради отделните неща той не вижда тяхната взаимна връзка, поради тяхното битие - тяхното възникване и изчезване, поради техния покой забравя тяхното движение, поради дърветата не вижда гората.
За него нещото или съществува, или не съществува: нещото не може да бъде то самото и същевременно нещо друго. Положителното и отрицателното се изключват абсолютно едно друго; причината и следствието се намират също така в неизменна противоположност помежду си.
Следвайки формалната логика една команда на асемблер не може да бъде тя самата и същевременно някоя друга команда.
А изискването на диалектическата логика е една команда на асемблер да бъде тя самата и същевременно някоя друга команда.
Това условие не може да се изпълни ако командата е написана на асемблер или език на високо ниво. Трудно изпълнимо е и при машинните команди на старите 8 и 16 битови микропроцесори. Но е сравнително лесно изпълнимо при 32 битови микропроцесори.
Като ARM или Pentium микропроцесори.
А причината е елементарна, закона за прехода на количествените натрупвания в качествени изменения – един от основните закони на диалектиката.
Остава да се досетите как се реализира на практика, "Историята на Мел" донякъде трябва да ви посочи отговора.
Остава въпросът какъв е смисъла?
Смисълът е че така силно се затруднява дизасемблирането на съответния участък от програмата. И не само това.
« Последна редакция: Октомври 05, 2019, 23:12:25 от Engels »
"The future is already here – it's just not evenly distributed."

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #8 -: Октомври 05, 2019, 23:22:52 »
енгелсе,

тва дето си го описал, е занаятчийство. в реалния живот не можеш да пишеш програма, която е неразбираема за останалите. в реалният живот този код просто няма да бъде одобрен и моментално или при първата възникнала необходимост ще бъде пренаписан.

отделно, че даже и ако пишеш сам, пак трябва да си пишеш разбираемо, щото като се върнеш към същото нещо след половин или една година, няма да се маеш един ден, за да си припомниш какъв точно трик си ползвал. при това не е задължително кодът ти да е с грешки, може да иде реч за изменение на условията - примерно сменят нещо по декларациите по ддс и ти щеш - не щеш, си променяш счетоводния софтуер.
Напълно си прав, но това се отнася за програмистите които си вадят хляба с програмиране. А за пиратите са по важни именно триковете с които се организира защитата на програмите. А почти всичките ми руски познати и приятели са пирати.
А народната мъдрост твърди, че с каквито хора общуваш ................
 :cool-1084:
"The future is already here – it's just not evenly distributed."

Неактивен аменеменема

  • Just Member
  • *****
  • Коментари: 3682
    • Профил
Re: Real Programmer
« Отговор #9 -: Октомври 05, 2019, 23:27:20 »
Нали това викам – фантазии, въздишки, гъби и синтетични вещества.

Неактивен onzi

  • Just Member
  • *****
  • Коментари: 7910
    • Профил
Re: Real Programmer
« Отговор #10 -: Октомври 06, 2019, 00:04:40 »
енгелсе,

тва са простотии на квадрат.

Активен Nor1

  • Just Member
  • *****
  • Коментари: 8068
    • Профил
Re: Real Programmer
« Отговор #11 -: Октомври 06, 2019, 00:33:25 »
Цитат на: Engels
определението на Фридрих Енгелс
Е то наркотиците не са от вчера  :cool-1084:
Джиджи: Ти ги оставѝ военните бази, Butch, защото аз предпочитам да говорим тук за булките на брат ми.

Неактивен micky

  • Just Member
  • *****
  • Коментари: 5303
    • Профил
Re: Real Programmer
« Отговор #12 -: Октомври 06, 2019, 00:36:06 »
Я си кротувайте че ше ви пратя Фирмин! :smokin:
Този пост вероятно съдържа продуктово позициониране на тема Армията на Федерацията. Преди употреба, прочете листовката!

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #13 -: Октомври 06, 2019, 01:14:29 »
Нали това викам – фантазии, въздишки, гъби и синтетични вещества.
Очевидно е че трябва подробно разяснение, което е нормално при положение, че нямаш опит с машинни команди.
ARM 32 битовите машинни команди имат в началото 4 бита за условно изпълнение на машинната команда. Тоест командата не винаги се изпълнява, което  е много удобно в нашия случай, понеже ни позволява избирателно да забраняваме изпълнението на съответната машинна команда.
При Pentium е малко по различно, или прескачаме изпълнението на машинната команда, или подходящо съчетаваме байтовете в машинната команда.
Останалото е лесно, организираме преход вътре в самата машинна команда при което се изпълнява само една част от машинната команда, което на практика я превръща в съвсем друга машинна команда или дори няколко различни машинни
 команди.
Ето конкретен пример с инструкцията: MOV EDX, DATA1 - 8B15 XXXXXXXX
В случая DATA1 е 32 битова променлива която съм отбелязал с XXXXXXXX защото може да бъде всяко 32 битово шестнадесетично число или в нашият случай машинна команда. Което на практика ни позволява на мястото на XXXXXXXX  да поставим 8 еднобайтови машинни команди като например PUSH EAX - 50, POP EBX - 5B или RET - C3. Или 4 двубайтови като JZ _LAB - 740A или JNZ _LAB - 750A които са къси условни преходи в рамките на 256 байта. Или 2 четири байтови.
Което на практика изпълнява условието машинната команда 8B15 XXXXXXXX да е тя самата MOV EDX, DATA1 и същевременно някоя друга команда или дори няколко други команди.
"The future is already here – it's just not evenly distributed."

Активен Nor1

  • Just Member
  • *****
  • Коментари: 8068
    • Профил
Re: Real Programmer
« Отговор #14 -: Октомври 06, 2019, 01:21:44 »
Цитат на: micky
Я си кротувайте че ше ви пратя Фирмин!
Той (Фирмин) може да програмира с диал. логика и на 4-битов процесор.
Ако не се намери такъв, сам ще си го издяла с лопатката  ;D
« Последна редакция: Октомври 06, 2019, 01:40:53 от Nor1 »
Джиджи: Ти ги оставѝ военните бази, Butch, защото аз предпочитам да говорим тук за булките на брат ми.

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #15 -: Октомври 06, 2019, 01:27:16 »
Позицията ви силно напомня на онзи шоп, дето стои пред клетката на жирафа, чеше се по врата и мърмори: „Те такова животно нема!”.
☭☭☭☭☭☭
"The future is already here – it's just not evenly distributed."

Активен Nor1

  • Just Member
  • *****
  • Коментари: 8068
    • Профил
Re: Real Programmer
« Отговор #16 -: Октомври 06, 2019, 01:39:39 »
Ти сега що се опитваш да ни показваш коза и да ни обясняваш, че шията й е 2 метра дълга, ама това се виждало само от точно определен ъгъл ?  :smokin:
Джиджи: Ти ги оставѝ военните бази, Butch, защото аз предпочитам да говорим тук за булките на брат ми.

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #17 -: Октомври 06, 2019, 02:02:11 »
Ти сега що се опитваш да ни показваш коза и да ни обясняваш, че шията й е 2 метра дълга, ама това се виждало само от точно определен ъгъл ?  :smokin:
Логично е да изглежда като коза в тъмното.

"The future is already here – it's just not evenly distributed."

Активен Nor1

  • Just Member
  • *****
  • Коментари: 8068
    • Профил
Re: Real Programmer
« Отговор #18 -: Октомври 06, 2019, 02:17:22 »
Сега пък се опитваш да ни пробуташ весело хапче да ни светне  :beer-405:
Джиджи: Ти ги оставѝ военните бази, Butch, защото аз предпочитам да говорим тук за булките на брат ми.

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #19 -: Октомври 06, 2019, 02:34:21 »
Сега пък се опитваш да ни пробуташ весело хапче да ни светне  :beer-405:
Останалото е лесно, организираме преход вътре в самата машинна команда при което се изпълнява само една част от машинната команда, което на практика я превръща в съвсем друга машинна команда или дори няколко различни машинни команди.
Това е хапчето, но дали ще ти светне е съвсем друг въпрос.
 :cool-1084:
"The future is already here – it's just not evenly distributed."

Активен Nor1

  • Just Member
  • *****
  • Коментари: 8068
    • Профил
Re: Real Programmer
« Отговор #20 -: Октомври 06, 2019, 12:04:50 »
Да, да, подаваш команда, пък процесорът хвърля чоп дали ще я изпълни, кога и как.
След което ти съобщава, че 2+2= 3, 5 или 18,4(7) в зависимост от настроението му.
Щото, ако винаги е 4, няма противоречие и следователно е неверен отговор.
Джиджи: Ти ги оставѝ военните бази, Butch, защото аз предпочитам да говорим тук за булките на брат ми.

Неактивен аменеменема

  • Just Member
  • *****
  • Коментари: 3682
    • Профил
Re: Real Programmer
« Отговор #21 -: Октомври 06, 2019, 12:29:36 »
Останалото е лесно, организираме преход вътре в самата машинна команда при което се изпълнява само една част от машинната команда, което на практика я превръща в съвсем друга машинна команда или дори няколко различни машинни команди.
Това е хапчето, но дали ще ти светне е съвсем друг въпрос.
Това не е никакво „хапче“. Всичко, което се опитваш да кажеш, и това, което можеш да си представиш, а и онова, което не си представяш (има много такова), е известно още от зората на компютърната техника и програмирането и се „чете“ непосредствено от принципите, формулирани от Тюринг и фон Нойман. Оттогава насам в него няма никакви тайнства, загадъчни страни и „други логики“. Стига си фантазирал за „диалектика“ – колкото и да се взираш под вола, няма да я намериш там.

Ако толкоз ти се ще да помиришеш програмиране с некласическа и дори недетерминирана логика, такава ще откриеш при т.нар. квантови компютри и пресмятания. Само че тези неща поне засега ще ги намериш само на книга, а са и доста сложни за възприемане, да не говорим за това да си свършиш нещо с тях.

И като казвам „некласическа и недетерминирана логика“, тя пак си е математическа – „нематематически логики“ няма. (В словосъчетания като „диалектическа логика“ не се има предвид истинска, доказателствена логика, а само един или друг метод за умозрително третиране на някаква страна на действителността – метод, който се стреми да обоснове правдоподобността на представи и твърдения, но при който не може да става дума за логическо извеждане и доказване.)
« Последна редакция: Октомври 06, 2019, 13:20:12 от аменеменема »

Неактивен onzi

  • Just Member
  • *****
  • Коментари: 7910
    • Профил
Re: Real Programmer
« Отговор #22 -: Октомври 06, 2019, 12:44:41 »
остави. аз още чакам да разбера твърдението '1 - 1 = 0' истина ли е, ако е - къде има противоречие.

щото ако няма, то според любимото му твърдение излиза, че не е истина :bigok:

Неактивен micky

  • Just Member
  • *****
  • Коментари: 5303
    • Профил
Re: Real Programmer
« Отговор #23 -: Октомври 06, 2019, 12:57:11 »
остави. аз още чакам да разбера твърдението '1 - 1 = 0' истина ли е, ако е - къде има противоречие.
Противоречи на закона за запазване на енергията!
Значи имаш единица, която в някакъв момент си извадил. Но тя не може да е нула, без значение къде си я скрил, изял, откраднал...
Следователно верният отговор се крие в готварските книги. Или наказателния кодекс. :t0328:
Този пост вероятно съдържа продуктово позициониране на тема Армията на Федерацията. Преди употреба, прочете листовката!

Неактивен micky

  • Just Member
  • *****
  • Коментари: 5303
    • Профил
Re: Real Programmer
« Отговор #24 -: Октомври 06, 2019, 16:13:08 »
Твърдението на Ондзи през погледа на централна емисия новини на български телевизор:

Прокуратурата се самосезира след твърдения на форумеца Onzi че е занулил единица от квартал Процесор. Onzi е задържан, в момента се извършват следствени действия в маала Процесор, жителите на която излязоха на спонтанен протест пред CPU-то с искания за максимална присъда.
В противен случай се заканват да блокират RAM-а и да изключат вентилаторите.
Драмата е създала напрежение и в GPU-то, наш екип пътува към мястото.
Този пост вероятно съдържа продуктово позициониране на тема Армията на Федерацията. Преди употреба, прочете листовката!

Неактивен аменеменема

  • Just Member
  • *****
  • Коментари: 3682
    • Профил
Re: Real Programmer
« Отговор #25 -: Октомври 06, 2019, 18:39:45 »
Quote (selected)
наш екип пътува към мястото
... и времето. За да ги свърже в диалектическо единство.

Неактивен micky

  • Just Member
  • *****
  • Коментари: 5303
    • Профил
Re: Real Programmer
« Отговор #26 -: Октомври 06, 2019, 18:59:26 »
Така или инак, колегата мисля че може да мине с условна при наличието на добър адвокат.
Добра идея е вече да си мие старателно марулите - намалява рисковете от руски шпиони и влияе добре на глобалния климат.
Този пост вероятно съдържа продуктово позициониране на тема Армията на Федерацията. Преди употреба, прочете листовката!

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #27 -: Октомври 06, 2019, 21:51:46 »

И като казвам „некласическа и недетерминирана логика“, тя пак си е математическа – „нематематически логики“ няма. (В словосъчетания като „диалектическа логика“ не се има предвид истинска, доказателствена логика, а само един или друг метод за умозрително третиране на някаква страна на действителността – метод, който се стреми да обоснове правдоподобността на представи и твърдения, но при който не може да става дума за логическо извеждане и доказване.)
Прекалил си с четенето на соросоидна пропаганда.
Остава само да прочетеш двата тома на идеолога на Сорос.
Отвореното общество и неговите врагове.
Открытое общество и его враги (The Open Society and ats Enemies) (в 2 томах)
Библия всех российских либералов
Том 1. Чары Платона
Том 2. Время лжепророков: Гегель, Маркс и другие оракулы

https://rutracker.org/forum/viewtopic.php?t=4632524
Соросоидите получават анафилактичен шок от Хегел:
«Противоречието е критерий за истина, отсъствието на противоречие – критерий за заблуждение.»
Като чуят за диалектика, все едно им бъркаш в задния проход.


"The future is already here – it's just not evenly distributed."

Неактивен аменеменема

  • Just Member
  • *****
  • Коментари: 3682
    • Профил
Re: Real Programmer
« Отговор #28 -: Октомври 06, 2019, 22:41:21 »
Quote (selected)
Прекалил си с четенето на соросоидна пропаганда
Ти май не си прекалявал с четенето на каквото и да е.
Quote (selected)
«Противоречието е критерий за истина, отсъствието на противоречие – критерий за заблуждение»
Надпис на стената на психиатрично лечебно заведение. Отвътре.
Quote (selected)
Като чуят за диалектика, все едно им бъркаш в задния проход
Други пък, като си помислят за диалектика, еякулират от кеф – вероятно смятат, че тя за това служи.

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #29 -: Октомври 06, 2019, 22:48:31 »
Quote (selected)
Прекалил си с четенето на соросоидна пропаганда
Ти май не си прекалявал с четенето на каквото и да е.
Quote (selected)
«Противоречието е критерий за истина, отсъствието на противоречие – критерий за заблуждение»
Надпис на стената на психиатрично лечебно заведение. Отвътре.
Quote (selected)
Като чуят за диалектика, все едно им бъркаш в задния проход
Други пък, като си помислят за диалектика, еякулират от кеф – вероятно смятат, че тя за това служи.
☭☭☭☭☭☭
"The future is already here – it's just not evenly distributed."

Неактивен onzi

  • Just Member
  • *****
  • Коментари: 7910
    • Профил
Re: Real Programmer
« Отговор #30 -: Октомври 06, 2019, 23:19:33 »
«Противоречието е критерий за истина, отсъствието на противоречие – критерий за заблуждение.»

хайде де, приложи го това към твърдението '1 / 1 = 1'.
истина ли е? къде е противоречието?

Активен Nor1

  • Just Member
  • *****
  • Коментари: 8068
    • Профил
Re: Real Programmer
« Отговор #31 -: Октомври 06, 2019, 23:35:15 »
Цитат на: аменеменема
Quote (selected)
«Противоречието е критерий за истина, отсъствието на противоречие – критерий за заблуждение»
Надпис на стената на психиатрично лечебно заведение. Отвътре.
Не. Обикновена неумна манипулация от сорта на
"Всичко, което пиша е лъжа. Лъжа ли е това твърдение?"
Джиджи: Ти ги оставѝ военните бази, Butch, защото аз предпочитам да говорим тук за булките на брат ми.

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #32 -: Октомври 06, 2019, 23:41:30 »
«Противоречието е критерий за истина, отсъствието на противоречие – критерий за заблуждение.»

хайде де, приложи го това към твърдението '1 / 1 = 1'.
истина ли е? къде е противоречието?
Първо се научи да различаваш диалектическото от формалното противоречие, иначе  който има поне малка представа от диалектика никога няма да те вземе на сериозно.
Тези соросоидни номера с които се опитваш да минеш, са много остарели.
Идеологът на соросоидите много преди теб се опита да ги пробута във втория си том на библията си за неолиберасти:
Том 2. Время лжепророков: Гегель, Маркс и другие оракулы
https://rutracker.org/forum/viewtopic.php?t=4632524
Прегледай я! От нея ще научиш къде по оригинални номера с който да се бъзикаш с Хегел, Маркс и Енгелс.
☭☭☭☭☭☭
"The future is already here – it's just not evenly distributed."

Неактивен onzi

  • Just Member
  • *****
  • Коментари: 7910
    • Профил
Re: Real Programmer
« Отговор #33 -: Октомври 06, 2019, 23:45:14 »
а, не. така не става. в такъв случай си плеснал кретенизъм, който не си се постарал да доизясниш. щото се оказва, че това твоето почервененото не е вярно във всички случаи.

бъди така добър да се поправиш. примерно нещо като 'диалектическото противоречие е критерий за истина...', после поясни какво разбираш под диалектическо и какво под формално противоречие.

след което ще те захапя за обясненията ти, щото те рядко обясняват нещо. действай :too_happy-1067:

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #34 -: Октомври 06, 2019, 23:55:42 »
Цитат на: аменеменема
Quote (selected)
«Противоречието е критерий за истина, отсъствието на противоречие – критерий за заблуждение»
Надпис на стената на психиатрично лечебно заведение. Отвътре.
Не. Обикновена неумна манипулация от сорта на
"Всичко, което пиша е лъжа. Лъжа ли е това твърдение?"
Ако това ще ти помогне да се почувстваш по умен от Хегел, мога само да се радвам за теб. Соросоидния идеолог се кефеше по същия начин, като твърдеше колко малоумен бил Хегел.
Можеш сам да се убедиш, ако прегледаш втория том на библията за неолиберасти:
 Том 2. Время лжепророков: Гегель, Маркс и другие оракулы
https://rutracker.org/forum/viewtopic.php?t=4632524
☭☭☭☭☭☭
"The future is already here – it's just not evenly distributed."

Активен Nor1

  • Just Member
  • *****
  • Коментари: 8068
    • Профил
Re: Real Programmer
« Отговор #35 -: Октомври 06, 2019, 23:59:04 »
Освен че съм много умен  8), съм и с абсолютно ясно съзнание,
незамъглено от овче преклонение към авторитети  :smokin:

А и не се опитвам да създавам нова религия с култ към
Великата Диалектика, Великото Противоречие, Великото Затопляне и пр..   :beer-405:
« Последна редакция: Октомври 07, 2019, 00:05:10 от Nor1 »
Джиджи: Ти ги оставѝ военните бази, Butch, защото аз предпочитам да говорим тук за булките на брат ми.

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #36 -: Октомври 07, 2019, 00:06:46 »

бъди така добър да се поправиш. примерно нещо като 'диалектическото противоречие е критерий за истина...', после поясни какво разбираш под диалектическо и какво под формално противоречие.
Искаш да поправя Хегел?
Предлагаш ми да направя ревизия на цитатите от Хегел и така да направя мислите му по достъпни и за по малоумните. Че от какъв зор да си давам такъв труд?
"The future is already here – it's just not evenly distributed."

Активен Nor1

  • Just Member
  • *****
  • Коментари: 8068
    • Профил
Re: Real Programmer
« Отговор #37 -: Октомври 07, 2019, 00:12:52 »
Цитат на: Engels
Искаш да поправя Хегел?
Страхуваш се, че може да те тресне мълния, да се продъни земята под теб или да изгубиш душата си ?
Джиджи: Ти ги оставѝ военните бази, Butch, защото аз предпочитам да говорим тук за булките на брат ми.

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #38 -: Октомври 07, 2019, 00:14:44 »
Освен че съм много умен  8), съм и с абсолютно ясно съзнание,
незамъглено от овче преклонение към авторитети  :smokin:

А и не се опитвам да създавам нова религия с култ към
Великата Диалектика, Великото Противоречие, Великото Затопляне и пр..   :beer-405:
Пропуснал си Великата Математика.
"The future is already here – it's just not evenly distributed."

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #39 -: Октомври 07, 2019, 00:23:16 »
Цитат на: Engels
Искаш да поправя Хегел?
Страхуваш се, че може да те тресне мълния, да се продъни земята под теб или да изгубиш душата си ?
Страхувам се, че колкото и да поправям и ревизирам Хегел, вие пак ще си останете на неолиберални соросоидни позиции.
"The future is already here – it's just not evenly distributed."

Активен Nor1

  • Just Member
  • *****
  • Коментари: 8068
    • Профил
Re: Real Programmer
« Отговор #40 -: Октомври 07, 2019, 00:28:50 »
Хегел какво казва за соросоидните неолиберали и за х86-процесорите ?
Джиджи: Ти ги оставѝ военните бази, Butch, защото аз предпочитам да говорим тук за булките на брат ми.

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #41 -: Октомври 07, 2019, 00:39:40 »
Хегел какво казва за соросоидните неолиберали и за х86-процесорите ?
Quote (selected)
Философската система на Хегел е построена около това, че реалността се поддава на рационално опознаване, защото самата Вселена е рационална. “Това, което е разумно е действително и това, което е действително, е разумно” (“Философия на правото”). Абсолютната реалност за Хегел се явява разумът, който се проявява в света. Всъщност ако битието и разумът (или понятието) са тъждествени, то ние можем да научаваме за строежа на реалността чрез изучаването на понятията и в този случай логиката или науката за понятията е тъждествена на метафизиката, или науката за реалността и нейната същност.

Диалектиката на Хегел се изразява в това, че всяко понятие, което е реализирано докрай, неизбежно води към своето антагонистично начало, тоест реалността “се превръща” в своя противоположност. Въпреки че това не е просто едно линейно противопоставяне, тъй като отрицанието на противоположностите довежда до съгласуване между понятията вече на едно друго ниво, което води до синтез, при който се разрешава противопоставянето между тезата и антитезата. Но тук възниква един нов етап, защото синтезата на свой ред също съдържа в себе си противопоставящо начало, което довежда до неговото отрицание. Така се ражда едно безкрайно редуване на теза с антитеза, а след това отново идва ред на синтеза.

Реалността на Хегел съществува в три стадия: битие в себе си, битие за себе си и битие в себе си и за себе си. По отношение на разума или духа тази теория предполага, че духът еволюира, преминавайки през три стадия. Отначало това е духът в себе си, след което разширявайки се в пространството и времето, се превръща в свое “друго битие”, т.е. в природа. Природата от своя страна развива съзнанието, образувайки по този начин свое собствено отрицание. Но тук вече произтича не просто отрицание, а примирение с предишните етапи на едно по-високо ниво. В съзнанието се възражда духът. В новия цикъл съзнанието преминава през три следващи стадия: стадият на субективния дух, стадият на обективния дух и накрая висшият стадий на абсолютния дух.

https://magnifisonz.com/2016/10/02/хегел-щастлив-е-този-който-е-уредил-би/
Долу-горе това казва, адаптирано като за по бавно загряващи реотани.
"The future is already here – it's just not evenly distributed."

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Was überhaupt die Welt bewegt, das ist der Widerspruch.
« Отговор #42 -: Октомври 07, 2019, 00:54:14 »
Was überhaupt die Welt bewegt, das ist der Widerspruch.
"The future is already here – it's just not evenly distributed."

Активен Nor1

  • Just Member
  • *****
  • Коментари: 8068
    • Профил
Re: Real Programmer
« Отговор #43 -: Октомври 07, 2019, 01:21:02 »
На конкретни въпроси изпраскваш някакъв километричен и ирелевантен цитат. Напълно очаквано  :smokin:
Фирминовите цитати на тоя и оня Дзъ поне са интересни. За разлика от шизо-бълнуванията на "мрачния германски гений"  8)
Джиджи: Ти ги оставѝ военните бази, Butch, защото аз предпочитам да говорим тук за булките на брат ми.

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #44 -: Октомври 07, 2019, 01:30:49 »
На конкретни въпроси изпраскваш някакъв километричен и ирелевантен цитат. Напълно очаквано  :smokin:
Фирминовите цитати на тоя и оня Дзъ поне са интересни. За разлика от шизо-бълнуванията на "мрачния германски гений"  8)
Мрачен, ама гений.
 :yes-1289:
"The future is already here – it's just not evenly distributed."

Активен Nor1

  • Just Member
  • *****
  • Коментари: 8068
    • Профил
Re: Real Programmer
« Отговор #45 -: Октомври 07, 2019, 01:44:24 »
Или слънцето му е било в недостиг, или допаминът в излишък  8)
Джиджи: Ти ги оставѝ военните бази, Butch, защото аз предпочитам да говорим тук за булките на брат ми.

Неактивен onzi

  • Just Member
  • *****
  • Коментари: 7910
    • Профил
Re: Real Programmer
« Отговор #46 -: Октомври 07, 2019, 07:29:58 »
енгелсе,

хайде отново:
Quote (selected)
поясни какво разбираш под диалектическо и какво под формално противоречие.

Неактивен аменеменема

  • Just Member
  • *****
  • Коментари: 3682
    • Профил
Re: Real Programmer
« Отговор #47 -: Октомври 07, 2019, 08:52:54 »
Енгелза усвои нова фатка: ако се опитваш да го отклониш от безсъдържателното говорене и го подтикваш към смислен диалог и обсъждане на конкретни неща, почва да фърга анатеми „у-у-у, соросоид!“ (така петнайс-двайс пъти) и после: „Ти знайш ли кой е Хегел, бе! А? Хегел кой е знайш ли? Ти кого бе, Хегел ли отричаш!“.
И всичко това само за да оправдае фантасмагориите си за „диалектическото програмиране на асемблер“.
А отлично знае, че ако вземе да приказва такива идиотщини неанонимно където и да е, много бързо ще се озове между бели стени с вързани на гърба ръкави, където единствени слушатели ще му бъдат двама груби санитари с нисък праг на търпение.

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #48 -: Октомври 07, 2019, 20:08:30 »
енгелсе,

хайде отново:
Quote (selected)
поясни какво разбираш под диалектическо и какво под формално противоречие.
Когато имаме две твърдения:
2+2 = 4
2+2 = 7
Между тях има формално противоречие, защото едното от тях не е истина.
За да имаш диалектическо противоречия и двете твърдения трябва да са истина, макар и в противоречие.
Енгелс го написал достатъчно ясно:
Quote (selected)
Метафизикът мисли само чрез неопосредствувани противоположности; неговата реч се състои от: "Да-да, не-не, всичко друго е от Лукавия". За него нещото или съществува, или не съществува: нещото не може да бъде то самото и същевременно нещо друго.
Ето визуален пример:
Когато нещото може да бъде то самото и същевременно нещо друго.

Сега да се върнем към асемблера и машинните команди.
Имаме следната машинна подпрограма:
740275028D2D585B7500C3 
В зависимост от Z флага машинната инструкция:
 8D2D585B7500
Ще се изпълни като:
LEA EBP, DATA1  (DATA1=00755B58)
RET
Или като:
POP EAX
POP EBX 
RET

Същата история като с картинката.


« Последна редакция: Октомври 07, 2019, 20:14:41 от Engels »
"The future is already here – it's just not evenly distributed."

Неактивен аменеменема

  • Just Member
  • *****
  • Коментари: 3682
    • Профил
Re: Real Programmer
« Отговор #49 -: Октомври 07, 2019, 20:19:50 »
Quote (selected)
Ето визуален пример:
Когато нещото може да бъде то самото и същевременно нещо друго.
Само дето нещо си се объркал. Нещото си е то самото и нищо друго.
« Последна редакция: Октомври 07, 2019, 20:40:17 от аменеменема »

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #50 -: Октомври 07, 2019, 20:47:44 »
Quote (selected)
Ето визуален пример:
Когато нещото може да бъде то самото и същевременно нещо друго.
Само дето нещо си се объркал. Нещото си е то самото и нищо друго.
И кое е това нещо на картинката което виждаш и твърдиш, че е то самото и нищо друго?
"The future is already here – it's just not evenly distributed."

Неактивен micky

  • Just Member
  • *****
  • Коментари: 5303
    • Профил
Re: Real Programmer
« Отговор #51 -: Октомври 07, 2019, 20:55:52 »
И кое е това нещо на картинката което виждаш и твърдиш, че е то самото и нищо друго?

Я ми сметни ей тая картинка:


Някои неща са определени. А други не са...
Този пост вероятно съдържа продуктово позициониране на тема Армията на Федерацията. Преди употреба, прочете листовката!

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #52 -: Октомври 07, 2019, 21:05:24 »
Картинката ти е формална, за да е диалектична трябва да се чудиш самолет ли виждаш или ракета. Ти какво виждаш на моята картинка?
 :cool-1084:
"The future is already here – it's just not evenly distributed."

Неактивен micky

  • Just Member
  • *****
  • Коментари: 5303
    • Профил
Re: Real Programmer
« Отговор #53 -: Октомври 07, 2019, 21:11:39 »
Ти какво виждаш на моята картинка?
Младо момиче, което търси своят Engels.
Този пост вероятно съдържа продуктово позициониране на тема Армията на Федерацията. Преди употреба, прочете листовката!

Неактивен аменеменема

  • Just Member
  • *****
  • Коментари: 3682
    • Профил
Re: Real Programmer
« Отговор #54 -: Октомври 07, 2019, 21:16:48 »
Quote (selected)
И кое е това нещо на картинката което виждаш и твърдиш, че е то самото и нищо друго?
Това, дето го виждам, съм го виждал и преди десетки години, защото картинката е много стар, добре известен и многократно привеждан пример за това, че можеш да „виждаш“ на нея поне две неща (полутил на млада жена и лице на старица).
Само че тук говорим за това дали картинката е едно нещо или не е така, а не какво си въобразяват главите ни, като я гледат. И очевидно картинката е едно нещо: картинка.
« Последна редакция: Октомври 07, 2019, 21:18:59 от аменеменема »

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #55 -: Октомври 07, 2019, 21:18:18 »
Ти какво виждаш на моята картинка?
Младо момиче, което търси своят Engels.
Значи още си мераклия, аз пък виждам дърта баба.
Я пак погледни!
"The future is already here – it's just not evenly distributed."

Неактивен micky

  • Just Member
  • *****
  • Коментари: 5303
    • Профил
Re: Real Programmer
« Отговор #56 -: Октомври 07, 2019, 21:28:24 »
Баба на руски е жена.
Питай сержанта!
Този пост вероятно съдържа продуктово позициониране на тема Армията на Федерацията. Преди употреба, прочете листовката!

Неактивен Engels

  • Just Member
  • *****
  • Коментари: 5913
    • Профил
Re: Real Programmer
« Отговор #57 -: Октомври 07, 2019, 21:42:04 »
Quote (selected)
И кое е това нещо на картинката което виждаш и твърдиш, че е то самото и нищо друго?
Това, дето го виждам, съм го виждал и преди десетки години, защото картинката е много стар, добре известен и многократно привеждан пример за това, че можеш да „виждаш“ на нея поне две неща (полутил на млада жена и лице на старица).
Само че тук говорим за това дали картинката е едно нещо или не е така, а не какво си въобразяват главите ни, като я гледат. И очевидно картинката е едно нещо: картинка.
Картинката е само пример, създадена е още преди да се родим.
Един вижда млада жена, друг дърта баба.
Същото е и машинната команда.
Пробвай да пуснеш тази машинна програма например в https://defuse.ca/online-x86-assembler.htm#disassembly2
740275028D2D585B7500C3

Сам ще се убедиш, че може да даде само една версия на асемблер.
Следователно ще те подведе.
Докато в машинната команда ясно се виждат и двете версии.
"The future is already here – it's just not evenly distributed."

Неактивен micky

  • Just Member
  • *****
  • Коментари: 5303
    • Профил
Re: Real Programmer
« Отговор #58 -: Октомври 07, 2019, 21:47:31 »
Quote (selected)
Следователно ще те подведе.
Изяж си децата! Или доматите!
Този пост вероятно съдържа продуктово позициониране на тема Армията на Федерацията. Преди употреба, прочете листовката!

Неактивен аменеменема

  • Just Member
  • *****
  • Коментари: 3682
    • Профил
Re: Real Programmer
« Отговор #59 -: Октомври 07, 2019, 22:02:47 »
Quote (selected)
Същото е и машинната команда
Недей да шикалкавиш, наричайки „машинна команда“ нещо, което е само редица от стойности на байтове. Това е нелепо.
Иначе да, точно същото е, както с картинката: картинката е едно единствено определено нещо, и редичката от стойности е едно единствено нещо.
А главата ти така и не увира за това, че има грамадна разлика между обект и интерпретациите на този обект. Иначе си веуик фиуософ – хегели, енгелсове, диалектики, триалектики … нещо като да се бараш писател, па да не можеш да четеш.