|
Тема |
Re: аз да [re: evlampi_popdimitrov] |
|
Автор |
zaphod (мракобес) |
|
Публикувано | 13.06.19 10:36 |
|
|
ами всички неща дето ме е яд защо в С++ са така а не онака, си ги направих по моя вкус. то тия неща са безчет, но общо взето няколко неща ме дразнят най-много и ги промених да са така:
1. точката е пълноправен оператор, демек можеш да напишеш obj.(a=b+c) и това е синтактично еднакво с obj.a=obj.b+obj.c в С++ безкрайно много пъти съм се дразнел че липсва тая възможност
2. силен метаезик, което ще рече следните неща:
- аргументи на темпейтите "свободен текст"
- иф с условие константа не компилира клона който няма да се изпълни (това позволява ифа да се ползва като мета език)
- някакъв набор служебни думички с които да си контролираш логиката на компилация. в С и С++ има само една такава - sizeof(), но нуждата от по-сериозен контрол е голяма. не ти ли се е искало да напишеш понякога if(exist(F.action)) F.action() ? в С++ не може да го направиш, няма начин в темплейт да провериш дали някакъв обект има функция с дадено име и да я извикаш ако я има. също няма как да провериш дали има деструктор или не. а много често кода зависи от това дали даден тип има деструктор или е под.
а за най-трудното, точно темплейтите това на пръв поглед просто нещо - аа, просто заместваш текста и толкова. да но по някакъв магически начин се оказа че синтактичния анализ на изрази е милиард пъти по-сложен когато имаш темплейти, още не мога да си обясня как стана така, но факт.
иначе аз за разлика от разни ентусиазирани създатели на езици си давам сметка че това е напълно безполезно занимание, и влизането във виртуализация е просто динена кора на която се подхлъзва всеки на когото е затрябвала няква проста конфиг система, точно така тръгна при нас. после разбрах че дори някой го бил формулирал като закон " всеки конфигурационен скриптов език нараства по сложност докато се превърне в лисп". е, при мен не беше баш лисп, но все пак удивително е че тази истина е известна отдавна, и въпреки това глупаците бълват и бълват нови езици :)
NE SUTOR ULTRA CREPIDAM
|
| |
|
|
|