Rabin
Създадено на 29.12.2021, видяно: 882 пъти. #55225
Мисля, че се разбрахме с тебе. Живееш си в твойта виртуална среда, и не ме поменуваш! Не съществувам за теб! Стиснахме си ръцете преди месец, дръж си на думата!
Brian
Последно редактирано на 29.12.2021 от Brian, видяно: 872 пъти. #55228
Rabin
Последно редактирано на 29.12.2021 от Rabin, видяно: 867 пъти. #55229
Стую, стую, стую, стую, стую
Твоята дума нищо не струва.
Туй ли било проблемът? ОК, няма да те поменувам хич.
Не съм квалифициран в психически разстройства, кажи ако имам още някои пропуски, и искам да забравиш че съществувам!
п.с. Успех при намиране на квалифициран роб, тука вдигнали ставката на 25 и 30 лева за 10 мин. въртене на геврека, и няколко километра. Чак ме изпердаши мигрена, каква огромна пропаст е зейнала м/у господар и роб. Прост мангал с основно образование ги изкарва, твойте терзания ги имах преди 10 години, за 6 цифрени суми, при ония цени!
roncho
Създадено на 05.10.2024, видяно: 267 пъти. #119042
Съвременните компютри са наследници на касовите апарати, те спазват правилото хам-хум, тоест намери нещо там, захапи го и го сложи тук (тук е работния регистър, а там - общата памет). Това влиза в стандартна езикова схема "сказуемо-подлог-допълнение" (СПД). По такъв начин са устроени машинните езици като асемблера, другите не са интересни, защото те паразитират върху него. Понякога в човешките изречения се ползва и схемата "подлог-сказуемо- допълнение" (ПСД), но по същество тя не е различна. Пример "котката яде мишки" е ПСД", а "отиде коня у ряката" е СПД.
Схемата СПД преобладава в компютърните действия и заема 90 и повече процента от процесорното време. Други действия като умножение и деление трябва да спазват училищните стереотипове, например линията A B+C трябва да означава събери B и C и остави резултата в A. За доста интерфейсни операции стереотипите са утвърдени и би било идеално да бъдат спазвани.
Ако са разкъсани по време (например когато програмата чете асинхронен източник - клавиатура, мрежов прием..) те може да затруднят разбирането на този който пише, но логиката им не позволява пряк запис, както горното хам-хум правило. За такива случаи в асемблера прекъсванията са явни.
Но изобщо мисля, че хардуера определя езика, а няма чисто синтактичен език. С други думи който произвежда хардуер, е длъжен да предостави към него език.
Стековите езици са най-близо до хардуера (повечето), ама писането на тях е егати клизмата.
Голямо заблуждение. На времето беше популярна идеята да се направи процесор, който да изпълнява директно forth, но всички опити бяха неуспешни. В смисъл, по-неефективни от съществуващите процесори при една и съща технология. Също опитваха и за Java и Lisp. Със същият резултат.
Rabin
Създадено на 05.10.2024, видяно: 253 пъти. #119051
Невронка хардуерно оптимизирана, пише на квото му кажеш.
roncho
Създадено на 05.10.2024, видяно: 250 пъти. #119052
Стековите езици са най-близо до хардуера (повечето), ама писането на тях е егати клизмата.
Имам опит с един от тях, екзотично хрумване, но лош резултат и почти невъзможно да го проследиш.
Стековите езици са най-близо до хардуера (повечето), ама писането на тях е егати клизмата.
Голямо заблуждение. На времето беше популярна идеята да се направи процесор, който да изпълнява директно forth, но всички опити бяха неуспешни. В смисъл, по-неефективни от съществуващите процесори при една и съща технология. Също опитваха и за Java и Lisp. Със същият резултат.
Проблемите не са технически.
Форт е измислен, когато компилацията и билдването са били скъп ресурс, с идеята максимално да се намали пътя от ужким езика на високо ниво до машинния код. Ако се направи проц, къде рънва директно форт (или максимум байт код, произлязъл от него) това значи всички да минат на форт, иначе няма смисъл. Което ти е ясно, че няма как да стане. Почти същото важи и за джавата (само JVM-a е стеков, самата джава си е ясно, че е конвенционален език) - технически няма никакъв проблем байт кода да стане машинен, само дето на никой не му трябва.
Изобщо, отговора беше към потребителя roncho, според който хардуера определял езика и колкото по-близо до проца, толкова по-добре. В реалния живот истината е диаметрално противоположна. Питоня избухна рязко, въпреки, че е толкова отдалечен от хардуера, колкото е въобще е възможно.
waldorf
Създадено на 05.10.2024, видяно: 232 пъти. #119059
Значи езиците формално се разделят на 3 вида:
- префиксен т.е. + а б както е лисп. Характерното за тях е, че трябва да има скоби за указване на приоритетите.
- инфиксен т.е. а + б почти всички "нормални" езици - фортран и алголоподобни (ц, паскал, жава, питон, руби и т.н.). Тук аритметичните оператори си имат приоритет един спрямо друг и понякога може да се мине без скоби.
- постфиксен т.е. а б + - форт, постскрипт, байткода на джава и .нет, pci контролерите също имат малък език за платформено независимо инициализиране на хардуера т.е. форт въобще не е умрял, просто е труден за четене от не тренирани хора и затова си седи в нишите. Няма скоби, няма приоритети, всичко зависи от реда на записване на операциите.
Съвременните компилатори се справят повече от добре след като са сдъвкали един път сорс кода до АСТ (abstract syntax tree) да го конвертират до кой да е от трите варианта. Но на практика почти всички езици които знам го сдъфкват до постфиксен, защото е най удобен за генериране на платформо зависим код. llvm & gcc включително.
Според мен бъдещето на тези езици и по точно на тази концепция за изчислителни машини е много под въпрос заради генеративния ИИ. По това което до момента съм разбрал очаквам да се появи нова архитектура която да борави с тези огромни модели т.е. матрици с числа на които се базира всичко и там не ти трябва да имаш акумулатор или стейт - всичко може да се направи със входящи и изходящи потоци от данни от сензори (микрофон, клавиатура, камера, термометри, акселерометри и т.н.) през тоз модел и да излезе в посока високо говорител, екран, серво мотор и т.н. Не ти трябва да има акумулатор(и), памет, процеси ... това разбира се означава и тотално и фундаментално променен начин на общуване с компютрите. За известно време ще се претака през облаци но очаквам закона на Мур да смачка хардуера достатъчно, че след 20-30 години всичкото това да става офлайн - най вероятно с някой пихтиест изкуствен позитронен мозък който ще се продава на килограм на щанда до краставиците. За който не вярва да си спомни какво се случи с разните гаражни фирми за асемблиране на компютри - умряха в момента в който в Кауфланд можеше да си купиш лаптоп или декстоп заедно със зеленчуците.
Rabin
Създадено на 05.10.2024, видяно: 230 пъти. #119061
Говорещите глави викат, дека ИИ ще сипва директно binary код. Алгоритмичните задачки ще останат за потребление на чичковци, да се правят на важни по интервюта, и да плашат кандидатите.
ДонРеба
Създадено на 05.10.2024, видяно: 218 пъти. #119089
Стековите езици са най-близо до хардуера (повечето), ама писането на тях е егати клизмата.
не са близо до хардуера, само се парсват най-лесно.
Стековите езици са най-близо до хардуера (повечето), ама писането на тях е егати клизмата.
не са близо до хардуера, само се парсват най-лесно.
Ами говорим за времената, в които са били актуални. Всички модерни процесори са смес от регистрови и стекови машини. Ся един фешън арм с неговите 35+ регистъра е по-скоро регистрова машина, повечето ф-ии спокойно могат да не излизат от процесора. Ама 8086 с неговите мижави 4 регистъра, пробвай да не ползваш стека. :)
Стековите езици са най-близо до хардуера (повечето), ама писането на тях е егати клизмата.
не са близо до хардуера, само се парсват най-лесно.
Ами говорим за времената, в които са били актуални. Всички модерни процесори са смес от регистрови и стекови машини. Ся един фешън арм с неговите 35+ регистъра е по-скоро регистрова машина, повечето ф-ии спокойно могат да не излизат от процесора. Ама 8086 с неговите мижави 4 регистъра, пробвай да не ползваш стека. :)
Уф, опитах се да ти кажа, ама пак ще напиша. Стека в процесорите няма нищо общо със стека в стековите езици. За да имаш стекова машина (език, процесор) трябва да можеш да извършваш операции директно върху стека. Никой от съвременните процесори това не го може. Защото е неефективно.
А да, броят на регистрите никак не класифицира процесора като "регистрова" или "стекова" машина. (Апропо, 8086 има много повече от 4 регистъра)
Процесорът може да има само един регистър и пак да е регистрова машина. Важното е в операциите задължително да участва този регистър. Например в 6503 има регистър A и всяка операция работи върху този регистър. Единият операнд задължително се намира в А (вторият задължително в паметта), резултатът винаги е в А.
Ако процесорът може да събере две числа от върха на стека и да остави резултата пак в стека, то това е стекова машина.
В настоящето има процесори, които могат да работят директно в паметта, без участие на регистри (x86 например). Единственият стеков процесор, който аз знам, това е аритметическия копроцесор 8087 (сега го вграждат в процесорите, но пак си е отделна система).
Rabin
Последно редактирано на 05.10.2024 от Rabin, видяно: 197 пъти. #119100
Единственият стеков процесор, който аз знам, това е аритметическия копроцесор 8087 (сега го вграждат в процесорите, но пак си е отделна система).
+1, таман щях да питам тия процесори ли визирате. От малкото полезни неща, дето научих за 5 г. гладуване и отлагане на казарма. Като вчера го помня, писахме на асемблер за копроцесора, именно тоя дето спомена.
80387 и 80487 дали нямаше пак отделно, или вече станаха DX вариант на процесора... Би трябвало пак да са тъй?
Обратен полски запис му викахме нa интерфейса. Радиатор по него време беше непознат, тия бяха с една метална капачка, и грееше яко, дори да не е натоварен компа. Спокойно можеше да работи тоя компютър, ако му извадиш копроцесора за flоating point.
Правец 16 беше копие на IBM XT по спомен , и му имаше пълна документация и сорс на биоса. Биос имаха ли всъщност, или е било за ДОС?
Славни времена, лумпенчетата превъртели ЦеЕс, и вече големите гийкове, анализи ми правят!
ДонРеба
Създадено на 05.10.2024, видяно: 192 пъти. #119101
64битовите компилатори вече не ползват копроцесора, всичко прекарват през ссе
roncho
Създадено на 05.10.2024, видяно: 189 пъти. #119102
waldorf написа "който не вярва да си спомни какво се случи с разните гаражни фирми за асемблиране на компютри - умряха в момента в който в Кауфланд можеше да си купиш лаптоп или декстоп заедно със зеленчуците".
Моите наблюдения казват, че доста малки фирми - гаражи и еднолични оцеляха и до ден днешен успешно работят, при което големи фирми (дори и банки) фалираха. И лично аз предпочитам малката фирма, от която пазаря компютърна техника отдавна.
Rabin
Последно редактирано на 05.10.2024 от Rabin, видяно: 174 пъти. #119103
Добър език за програмиране е такъв с мощен препроцесор.
waldorf
Създадено на 05.10.2024, видяно: 168 пъти. #119105
waldorf написа "който не вярва да си спомни какво се случи с разните гаражни фирми за асемблиране на компютри - умряха в момента в който в Кауфланд можеше да си купиш лаптоп или декстоп заедно със зеленчуците".
Моите наблюдения казват, че доста малки фирми - гаражи и еднолични оцеляха и до ден днешен успешно работят, при което големи фирми (дори и банки) фалираха. И лично аз предпочитам малката фирма, от която пазаря компютърна техника отдавна.
Рончо, тези които имаха читави корпоративни клиенти още си ги поддържат. Познавам и аз такива които работят и до днес по на 20-30 години. Тези които се разчитаха основно от продажби на домашни компютри обаче ги няма. Едно, че компютрите може да ги купиш в по големичките бакалии, второ, че и пазара много се промени с навлизането на смарт фони/таблети/тв и съответно хората сега трябва да заделят и по 2к за айфонец на калпак от домакинството т.е. това почти изяжда бюджета за компютър.
Но то от всичко което написах само това те провокира да коментираме не знам и аз какво повече да кажа.