Главная страница » Интересное » Мысли об идеальном языке программирования

Чат
ХУЙНЯZEF
шо вы тут гомосеки? в попку ебётеся?
ХУЙНЯZEF
Гоу срать butthurt
Гусінь
Варламов, wow
Варламов
еще сиськи
ХУЙНЯZEF
КозакКочерга, привет пидор майданутый troll
ХУЙНЯZEF
Сперма
КозакКочерга
bylterer, Да именно так
bylterer
КозакКочерга, т.е он сосет сам у себя? butthurt
bylterer
sergsum, тока шерсть на одежде останется troll
sergsum
bylterer, А правду говорят, что если с тобой обниматься, то глисты заводятся? Link troll
КозакКочерга
Блондотоп, твой рот был выебан чурками butthurt
A`time
fenix312
sergsum, пусть адрес напишет, я им скотча вышлю awe2
Гусінь
bylterer, я хз lol
bylterer
Блондотоп, awe
Блондотоп
bylterer, кто такой блондотоп?Я твой xoзяин butthurt
Блондотоп
пёс сoбака bylterer,
bylterer
Блондотоп, znt,z yt pyf.
Блондотоп
bylterer, блондотоп - Я тебя troll
Блондотоп
bylterer, bylterer, ты 3,14 адрас гнoйный
bylterer
Гусінь, кто такой блондотоп?
Гусінь
sergsum, awe2
bylterer
sergsum, тваи пидарасы на меня тут ХУЙНЯZEFЫ пишут? lol
sergsum
alf1909985
я знаю чем заняться))))спс))
Гусінь
alf1909985, ну тогда поздравляю wink и иди прячь обувь и провода
alf1909985
расияне отмерзли когда я попросил подсказок.....
EDOSS
если проц с графическим ядром он разгружает видяху или оно активируется когда моник к мамке подрубается?
Блондотоп
Сэр Гей bylterer,
alf1909985
только родила)))

Только зарегистрированные посетители могут писать в чате.
Опрос

Нужен ли конкурс сисек на SFW?

НЕТ! СРАМОТА!
ДА! ДАЙТЕ ДВЕ!
Мне мама на такое смотреть еще не разрешает.
Мне на такое смотреть уже поздно. Кхе-кхе!..
 
 
 
Также можете почитать
Мысли об идеальном языке программирования


В данной статье я хотел бы поделиться своими мыслями об идеальном языке программирования общего назначения. В первую очередь — о языке, который мог бы заменить С++.
Так случилось, что языки программирования — мое хобби и мой основной интерес в сфере IT. Наверное, любой программист иногда мечтает создать свой собственный — идеальный — язык программирования. Для меня это нечто большее чем просто мечта, фактически я уже давно собираю всю информацию по различным языкам и проектирую свой собственный язык.
На разных ресурсах я регулярно высказываюсь по вопросам этой тематики. В этой статье я попытался собрать основные мысли воедино. Мы рассмотрим основные недостатки С++, особенности других языков, которые так или иначе можно сравнивать с С++, и — самое интересное — потребности программистов в языковых фичах, на примере библиотеки Boost.
Данная статья не претендует на какую-то техническую полезность (хотя если она будет кому-то полезна, это замечательно). Это статья-приглашение к обсуждению.

С++ далеко неидеален. Думаю, любой С++ программист согласится со мной:)

Недостатки С++ — это в первую очередь тяжелое наследие Си: ужасная система инклудов и полное отсутствие модульности. Включение заголовочного файла приводит по сути к включению всего содержимого файла в единицу компиляции; поскольку заголовочные файлы включают друг друга, а современные библиотеки могут содержать десятки тысяч заголовочных файлов… разумеется, это не может не сказываться на времени компиляции. Иногда помогают различные решения-хаки типа «precompiled headers» (pch), но, как показывает практика, эти решения тоже далеко не идеальны. Например, Visual C++ не позволяет создавать общие pch для нескольких проектов одного solution (при том, что в precompiled headers как правило включают действительно общие и неизменяемые заголовки — такие как stl, boost и т.п.).
Ну и конечно внутренний перфекционизм, свойственный любому программисту, решительно протестует против такой реализации — по сути костыля, подпорки под неправильную изначально архитектуру.

#define true false
Конечно же «лексический» препроцессор, еще один привет от Си, тяжелое и намертво приросшее наследие unix-way (да, когда-то это действительно была отдельная программа, и да, существуют альтернативные препроцессоры, например m4… но сейчас препроцессор однозначно воспринимается как часть языка). Но совершенно очевидно, что языку нужен некий набор возможностей, решающий задачи препроцессора (а точнее система синтаксических макросов), и это не должна быть нестандартная сторонняя программа, никак не связанная с языком.

И из относительно нового — тьюринг-полнота шаблонов, породившая адские конструкции метапрограммирования на этих самых шаблонах. Изначально предполагалось, разумеется, что шаблонные функции и классы будут использоваться исключительно для написания универсальных алгоритмов и структур данных, не зависящих от типа обрабатываемых/хранимых данных. Прекрасное применение! Но
Отсутствие встроенных синтаксических макросов и вечное чувство голода по фичам заставили программистов создать на шаблонах полноценные метаязыки, с метатипами, метаалгоритмами, с вычислениями, выполняющимися компилятором во время компиляции… Что же в этом плохого? Да ничего, кроме того, что это — по сути своей костыли. Но просто неприятно, когда например ключевые слова (struct) используются совсем не для того, для чего они предназначены. Ну и конечно неадекватные сообщения об ошибках, нередко возникающие из-за случайной опечатки и занимающие десятки (если не сотни) строк на одну ошибку… это поистине ужасно.

Разумеется, в С++ хватает и других недостатков — по мелочам. Так или иначе, многие из них учтены в следующем поколении языков прикладного программирования — Java и C#. Кстати, на мой вкус C# развивается наиболее динамично и органично впитывает в себя фичи из многих других языков; это отличный пример красивого и сбалансированного языка (а значит, и отличный образец, на который можно смотреть при проектировании новых языков). Но ни Java, ни C# все-же не являются языками системного программирования.

Нельзя не отметить и еще одну группу новых (относительно С++) языков, к которым я бы отнес D, Go, Rust, Swift, Nim, и заодно относительно старый Objective C (за его очень интересную особенность — рантайм).

Что же в этих языках интересного?
Начнем с D. Язык разрабатывался как «улучшенный С++», и действительно — многие концепции сделаны более грамотно. Аккуратно реализовано контрактное программирование, есть ФП, есть некая реализация метапрограммирования (но можно сделать лучше!). Язык компилируется в нативный код, а значит, может претендовать на «системность». Но я бы не выделил в D какой-то одной фичи, которая затмевает все. Тем ни менее, складывается впечатление, что язык пошел по пути С++ в части накопления «хаков», это особенно заметно при изучении кода компилятора (чем я периодически занимаюсь).

Go. Среди приятных вещей — структурная типизация интерфейсов. Возможность крайне интересная, сразу хочется воспользоваться…
Еще стоит упомянуть embedding вместо наследования. Когда смотришь на это, думаешь — а ведь это должно быть еще в Си! Настолько это просто в реализации — и, тем ни менее, как элегантно выглядит это решение. Встроенная в язык поддержка многопоточности тоже радует.

Rust. Основная фича — потрясающая система умных указателей и проверок во время компиляции. Да, это стоит брать в идеальный язык… хотя многие жалуются, что система переусложнена. В действительности в ней нет ничего лишнего, хотя я бы не стал отказываться и от классических указателей (в Rust кстати от них не отказываются, они просто завернуты в unsafe). Можно ли такое совместить? Можно. Нет ничего страшного в возможностях, страшно их отсутствие.

И еще я бы хотел упомянуть Objective C. Язык достаточно старый, но людям незнакомым с миром OSX найдут в нем много интересного. Это особая реализация ООП, в частности отправка сообщений вместо прямого вызова методов, система селекторов и метаклассов. Пришедшие в язык из Smalltalk, эти фичи позволяют в компилируемом языке делать многие удивительные вещи, достижимые только в интерпретируемых скриптах — в частности, добавлять методы в классы прямо во время выполнения программы! По-моему, прекрасная возможность.

Следующий интересный вопрос — соотношение фич языка и того, что можно вынести в библиотеки. Так сложилось, что долгое время именно С++ был самым мощным языком программирования универсального назначения (да и сейчас пожалуй остается им, несмотря на все недостатки). Альтернатив не было, но сам по себе С++ долгое время развивался достаточно медленно, а программистам всегда хочется большего! Так или иначе, но стали появляться и развиваться различные библиотеки. Несмотря на то, что стандартная библиотека уже была, многие другие библиотеки и фреймворки часто дублировали ее функциональность своими классами. Яркий пример — строки. Казалось бы, в С++ есть стандартная строка (stdstring), но нет — практически каждая более-менее крупная библиотека имеет свою реализацию строк. CString (MFC/ATL), QString (Qt), TString (VCL), wxString (wxWidgets). Та же участь постигла различные контейнеры (динамические массивы и списки), базовые классы для различных иерархий (object — правда надо признать что в стандартной библиотеке ничего подобного нет). Я уже не говорю про переопоределения простых типов, встречающиеся практически в каждой небольшой программе (даже не библиотеке). Помните всяческие UINT, uint, u32, DWORD, uint32_t… Но наиболее интересным объектом для исследования дизайна языка является пожалуй библиотека Boost (как официальная ее часть, так и библиотеки в статусе Under Constuction, находящиеся в Boost Incubator и прочие неофициальные расширения). К ней мы еще вернемся.

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

Мысли об идеальном языке программирования


Маленькое языковое ядро не поддерживает многие языковые фичи и провоцирует программистов писать «эмуляцию языковых возможностей». Поскольку программистов много, то и соответствующих эмуляций много; они как правило несовместимы между собой; громоздки (т.к. построены на нестандартном и/или неочевидном использовании существующих языковых возможностей); трудны в компиляции и отладке, да и вообще в понимании. С другой стороны, маленькое ядро позволяет языку не содержать ничего лишнего и это хорошо (более того, это необходимо для системного программирования). Противоречие? На самом деле разрешимое противоречие. Вот моя схема организации идеального языка:

Мысли об идеальном языке программирования


В центре — базовое языковое ядро. Вокруг него — «language extensions», языковые расширения — некие части языка, которые поддерживаются синтаксически, но которые можно включать и отключать при сборке проекта, а также заменять на свои реализации; дальше — стандартная библиотека, поддерживающая все что относится к программированию общего назначения; и вокруг — прикладные библиотеки, которые не пытаются эмулировать функции ядра, а решают чисто прикладные задачи. Прикладные библиотеки должны реализовывать специфические вещи. Это существенно важно — разница между общим и специфическим. Работа с графикой, с сетью, с железом; специфическая математика, криптография, прикладные библиотеки для каких-то особых областей; работа с разными файловыми форматами, с базами данных, с различными сервисами… все это специфические, прикладные направления, и они безусловно должны реализовывать в виде библиотек. А вот рефлексия или многопоточность, функции высшего порядка или сопрограммы — это фундаментальные с точки зрения языка вещи, и они должны поддерживаться в языке (некоторые — с возможностью замены реализации по умолчанию на что-то другое).

Вернемся к библиотеке Boost. Поговорим о Бусте как о ярчайшем примере того, что языки развиваются гораздо медленнее, чем того хотят программисты. Добрая половина библиотек Буста — это по сути эмуляция языковых фич. Возможно, когда нибудь я напишу отдельные статьи про библиотеки Буста… здесь же — лишь краткий обзор того, что там есть — в причем контексте включения этих фич непосредственно в язык программирования. У Буста есть своя классификация библиотек, с которой я не вполне согласен (хотя и цели классификации у меня другие). Часть библиотек безусловно относится к группе «стандартная библиотека»; часть — вообще прикладные библиотеки; но значительная часть — это именно то, чего не хватает в самом языке, в ядре! Я не буду здесь приводить ни своего деления, ни описания библиотек (это тема отдельной статьи, а то и нескольких). Вместо этого я просто дам список (неполный!) тех библиотек библиотек Буста, которые я бы отнес к языковому ядру:

integer — метаинформация и трейты для целочисленных типовmultiprecision — обертка для библиотек работы с числами произвольной точности GMP, MPIR, MPFRany — универсальный динамический типoptional — опциональный тип, maybe; по идее должен быть встроен в язык и интегрирован с nullablevariant — алгебраический тип данных (sum-type, tagged union)preprocessor — метапрограммирование на сишном препроцессореinentity_type — хелпер для генерации уникальных имен типовassign — мультиоперации, связанные с заполнением контейнеровmpl — контейнеры типов и операции над нимиfusion — контейнеры типов и значений и операции над нимиtuple — кортежиbind — функциональные объекты, создаваемые с помощью частичного применение функцийfunction — функциональные объектыlambda — лямбда-функции; кстати, кое-в чем превосходящие лямбды из c++11;local_function — эмуляция вложенных функцийsignals2 — сигналы и слотыcontext — сохранение и восстановление состояния потока (стека и регистров)coroutine — реализация сопрограммforeach — цикл по коллекциямparameter — эмуляция именованных аргументов фунцийscope_exit — языковая конструкция, в языке D это называется scope(exit), scope(success), scope(failure), в Go — defertype_erasure — альтернативная реализация рантайм полиморфизмаpredef — метаинформация об ОС, компиляторе, платформе...,typeof — эмуляция оператора typeof / decltypeendian — работа с числами с разным порядком байт

Напомню, что это далеко не полный список (и еще я даже не рассматриваю здесь библиотеки расширений Буста, а там тоже немало интересного — например Contract, Hana, Introspection, Mirror, Reflection...). Отмечу, что далеко не все библиотеки следует включать в языковое ядро: в общем случае, достаточно включить в ядро лишь некоторую небольшую (и по сути общую для многих библиотек) часть, и может оказаться, что многие библиотеки из этого списка вообще окажутся не нужны. Также включение в языковое ядро позволит избежать многих ограничений, накладываемых на существующие искусственные реализации различных фич. Такие прекрасные возможности, как алгебраические типы данных, универсальный динамический тип any, опциональные типы, именованные параметры конечно же лучше всего реализовать на уровне языка.

Теперь перейдем к «Language Extensions». Что это такое и зачем я это ввел?
На самом деле такие «расширения» так или иначе существуют и в С++, просто их никто не выделяет в отдельную группу. Пример — система выделения памяти в С++. Интерфейс языкового ядра — это операторы new и delete как таковые; в языковом ядре четко прописан их синтаксис, а в документации — их семантика (выделение и освобождение памяти). При этом язык предоставляет стандартную реализацию, но при желании можно переопределить эти операторы и написать свою систему выделения памяти. Второй пример — идентификация типа во время выполнения, RTTI. Пример демонстирует другой аспект — отключаемость расширений.

Я имею большой опыт работы с микроконтроллерами, там при очень малом объеме бортовой памяти приходилось выделять память только статически — никакой «кучи» не было, и уж тем более не было RTTI.

Разница между Core и Extensions только в том, что элементы core нельзя переопределить; так, условный оператор if однозначен, его логика зашита в ядро и нет никакой возможности заменить его реализацию на что-то другое. Расширения же прописаны в ядре на уровне синтаксиса, так же в языке предоставляется некая реализация по умолчанию, которая устроит 95% программистов; оставшимся 5% предлагается написать свою реализацию, тем ни менее соответствующую языковым интерфейсам, или отключить ее вовсе — для специфических случаев.

Другими такими расширениями могли бы стать
сборка мусора (см. Rust — Gc)управление памятью с помощью подсчета ссылок (см. Rust — Rc, Arc)длинная арифметика (здесь важно то, что арифметика должна быть интегрирована в язык в том числе на уровне литералов; и длинные константы типа 128-битных чисел должны записываться естественным путем — в виде числовых литералов, одинаково для всех реализаций!)многопоточность (оператор go в языке go)рефлексия (да, существует масса способов реализовать ее вручную — но лучше компилятора с этой задачей все равно никто не справится)виртуальность и мультиметодысигналы и слотыдинамика в стиле objcвстроенные скриптыrttiобработка исключений (существуют разные способы ее реализации; а бывают случаи когда она вообще не нужна)floating point (да, на некоторых микроконтроллерах нет FPU и работу с плавающей точкой эмулирует библиотека)
и наверное многое другое, что я не вспомнил сразу…

Под конец хочу остановиться на одном философском принципе, который лежит в основе моего представления об идеальном языке программирования. Обычно в ходе обсуждения на форумах, когда начинаешь говорить что в языке Х нет фичи Y, обязательно найдется кто-нибудь кто скажет: ну как-же, вот если взять фичи A, B и С, и прикрутить к ним костыли D, E и F, то мы получим почти Y. Да, это так. Но мне такой подход не нравится. Можно представить, что таких программистов устроит некоторый сложный путь через лабиринт. Пройти лабиринт можно, но путь кривой и не очевидный. Мне же хочется, чтобы вместо лабиринта была просторная площадь, по которой из любой точки в любую другую можно было бы пройти по прямой. Просто по прямой.

Мысли об идеальном языке программирования
18
 
ХАРЬКОВ
7:10:08 18.05.15
 
ganjabastard
7:31:32 18.05.15
 
OdessaNA
8:59:31 18.05.15
 
ivashka334537
9:30:45 18.05.15
 
anub4iK
10:24:07 18.05.15
 
Псеш
10:31:06 18.05.15
 
Avior
10:43:25 18.05.15
 
semicon
11:00:31 18.05.15
 
Pegasmaster
11:06:01 18.05.15
 
Sunny
11:24:47 18.05.15
123
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Лучшие комментарии
#---
 
goryur
18-05-2015 08:56
12
WOT мешает
#---
 
Avior
18-05-2015 10:43
9
Комунист, хоть бы где-то указал, что статья с geektimes цельнопизжена
А то можно ненароком подумать, что у тебя адекватные мысли появились
#---
 
Грим
18-05-2015 11:50
7
Для Храбра статья как раз, здесь же - имхо, мало кто оценит, специфика сайта другая =)
Ну, а собсно по сабжу - подобные новаторские мысли, подобное желание стать прямоходящим, безкостыльным индивидом - не новость. Собственно, я чертовски удивился, что тут не упоминается Руби. Теми же самыми мыслями руководствовался Юкихиро Мацумото, когда пилил этот замечательный язык ;) В результате получилась достаточно зубастая и гибкая система. Как по мне, если смотреть на "создание идеального языка программирования" с позиции автора - он за пример берет С++, то это вообще занятие неблагодарное. Хотя бы потому, что сейчас IT-технологии неистово шустро развиваются, появляются новые технические решения, концепции. Оперативное внедрение в существующую среду влечет за собой появление костылей и вложенных конструкций =) Как к примеру было с той же жабой, когда объявлено было, что нету мультинаследования. А потом, мультинаследование появилось в виде костылированной имплементации.

Все, я поучаствовал в обсуждении, поумничал, спасибо! =)
#1
 
MYpka2
18-05-2015 06:57
 
5
 
2294
 
Старожилы S.F.W.
-1
 
webwalker
9:43:15 10.11.15
а почем дальше проектирования языка процесс не идет?
__________________________________________

Продам колеса на велосипед, красивые недорогие


http://velosvet.in.ua/ - велозапчасти и аксессуары

#2
 
goryur
18-05-2015 08:56
 
3
 
Старожилы S.F.W.
12
 
Алхимик
9:46:25 18.05.15
 
Casper
11:58:20 18.05.15
 
Artyusha
12:07:57 18.05.15
 
Felix
12:12:22 18.05.15
 
r4zoR
12:59:32 18.05.15
 
Kamfenkel
13:10:27 18.05.15
 
cbi490
13:25:31 18.05.15
 
RinDaime
15:06:17 18.05.15
 
rik_en
15:30:27 18.05.15
 
alf1909985
15:40:04 18.05.15
12
WOT мешает

#3
18-05-2015 09:00
 
1
 
649
 
Старожилы S.F.W.
0
Удачи.
__________________________________________


#4
 
inside
18-05-2015 09:03
 
12
 
1461
 
Старожилы S.F.W.
0
 
rik_en
15:30:39 18.05.15
 
Сашка
13:17:47 19.05.15
Идеальный язык программирования:

A: ADD A,B
DIV C,D
JP NZ A

#5
18-05-2015 09:21
 
94
 
3492
 
Журналюги
3
 
Kamfenkel
13:10:51 18.05.15
 
zayats103
23:14:42 18.05.15
 
jurrio
15:18:08 19.05.15
Читал эту статью на хабре, имхо, идеальный язык программирования - утопия.

#6
 
inside
18-05-2015 09:28
 
12
 
1461
 
Старожилы S.F.W.
2
 
Kamfenkel
13:10:50 18.05.15
 
zver911
11:20:23 19.05.15
не бывает идеальных языков программирования - бывают идеальные программисты. Да и то, хрен где их найдешь

#7
18-05-2015 09:29
 
1
 
1690
 
Старожилы S.F.W.
1
 
Kamfenkel
13:11:06 18.05.15
верхняя фотка-где нога в вьетнамке и без носков,какая то не комунистическая troll
а по теме,чего бы ты не придумал,всё равно будет казатся что это не идеал why ,хотя с другой стороны огромное поле для экспериментов... idea
__________________________________________

#8
 
Dvader
18-05-2015 09:38
 
5
 
997
 
Старожилы S.F.W.
2
 
Kamfenkel
13:11:18 18.05.15
 
webwalker
13:31:07 18.05.15
Я уже было хотел немножко говнеца на автора вылить но потом дошло что это не его мысли а он статью откуда то взял...
__________________________________________
Имя нам — Легион. Крови нашей — Океан. Мы не боги и не титаны. Мы солдаты. Мы не умираем. Мы отправляемся в ад на перегруппировку

#9
18-05-2015 09:40
 
1229
 
Старожилы S.F.W.
0
 
zver911
11:20:35 19.05.15
 
gowwka_rasta
10:36:56 20.05.15
Идеальный язык программирования - Русский ! cannabis

#10
 
Dvader
18-05-2015 09:42
 
5
 
997
 
Старожилы S.F.W.
7
 
Арієць
13:23:59 18.05.15
 
MIXer
14:41:41 18.05.15
 
Острый Перец
14:49:02 18.05.15
 
comrade
16:09:00 18.05.15
 
Borat
16:58:28 18.05.15
 
belart
22:37:47 18.05.15
 
Фобыч
22:59:55 20.05.15
maelstorm,
Ты имеешь ввиду 1С ? Для его разработчиков уже давно отдельный котел в Аду зарезервирован...
__________________________________________
Имя нам — Легион. Крови нашей — Океан. Мы не боги и не титаны. Мы солдаты. Мы не умираем. Мы отправляемся в ад на перегруппировку

#11
18-05-2015 10:32
 
138
 
Старожилы S.F.W.
1
 
sergsum
22:07:54 28.05.15
почти ничего не понял, но одобряю)

#12
 
Avior
18-05-2015 10:43
 
160
 
Старожилы S.F.W.
9
 
No_Name
10:57:02 18.05.15
 
Oberst
11:06:18 18.05.15
 
Kamfenkel
13:12:15 18.05.15
 
webwalker
13:30:40 18.05.15
 
texnik
19:11:47 18.05.15
 
green12
21:45:36 18.05.15
 
expitser
23:34:38 18.05.15
 
Darkpups
8:48:48 19.05.15
 
sergsum
12:10:59 22.05.15
Комунист, хоть бы где-то указал, что статья с geektimes цельнопизжена
А то можно ненароком подумать, что у тебя адекватные мысли появились

#13
18-05-2015 11:04
 
2387
 
Старожилы S.F.W.
2
 
Kamfenkel
13:12:22 18.05.15
 
webwalker
13:30:35 18.05.15
 
dima819
14:20:25 18.05.15
 
slo_nik
14:31:10 18.05.15
Цитата: Avior
Комунист, хоть бы где-то указал, что статья с geektimes цельнопизжена
А то можно ненароком подумать, что у тебя адекватные мысли появились



У коммунитстов одни мысли - забрать и поделить.(причём между собой )

#14
 
Oberst
18-05-2015 11:06
 
1
 
3080
 
Старожилы S.F.W.
1
 
MaCphisto
13:21:16 18.05.15
Цитата: Avior
А то можно ненароком подумать, что у тебя адекватные мысли появились

1 за 100, что он сам половину написанного не понимает smoka
__________________________________________
Нас ждёт вкрай весёлая старость, учитывая то, сколько будет старушек с татрами на пояснице.

#15
18-05-2015 11:48
 
4
 
2937
 
Старожилы S.F.W.
4
 
Kamfenkel
13:12:35 18.05.15
 
MaCphisto
13:21:17 18.05.15
 
webwalker
13:30:17 18.05.15
 
MIXer
14:42:02 18.05.15
Цитата: Oberst
1 за 100, что он сам половину написанного не понимает

я думаю он абсолютно нихуя не понимает об чем вобще речь awe2

#16
18-05-2015 11:50
 
115
 
Старожилы S.F.W.
7
 
Dvader
12:58:32 18.05.15
 
Kamfenkel
13:13:56 18.05.15
 
webwalker
13:30:07 18.05.15
 
Avior
13:50:03 18.05.15
 
dima819
14:20:37 18.05.15
 
comrade
16:09:58 18.05.15
 
Псеш
1:42:48 19.05.15
Для Храбра статья как раз, здесь же - имхо, мало кто оценит, специфика сайта другая =)
Ну, а собсно по сабжу - подобные новаторские мысли, подобное желание стать прямоходящим, безкостыльным индивидом - не новость. Собственно, я чертовски удивился, что тут не упоминается Руби. Теми же самыми мыслями руководствовался Юкихиро Мацумото, когда пилил этот замечательный язык ;) В результате получилась достаточно зубастая и гибкая система. Как по мне, если смотреть на "создание идеального языка программирования" с позиции автора - он за пример берет С++, то это вообще занятие неблагодарное. Хотя бы потому, что сейчас IT-технологии неистово шустро развиваются, появляются новые технические решения, концепции. Оперативное внедрение в существующую среду влечет за собой появление костылей и вложенных конструкций =) Как к примеру было с той же жабой, когда объявлено было, что нету мультинаследования. А потом, мультинаследование появилось в виде костылированной имплементации.

Все, я поучаствовал в обсуждении, поумничал, спасибо! =)

#17
18-05-2015 13:28
 
40
 
8242
 
Пиздоболы
5
 
Свідомий
13:32:46 18.05.15
 
comrade
16:10:08 18.05.15
 
Avior
16:56:24 18.05.15
 
jurrio
15:18:53 19.05.15
 
Aleksandr_
22:10:50 21.05.15
Цитата: Комунист
В данной статье я хотел бы...

Комунист, в подобных постах необходимо указывать автора (как минимум) и давать ссылку на источник. debil_kontrol

#18
18-05-2015 17:18
 
939
 
Старожилы S.F.W.
0
Грим,Для Храбра да
а вот для Измемна нет bellow
__________________________________________
"Keep your ears open and your mouth SHUT!"

#19
18-05-2015 21:48
 
103
 
Старожилы S.F.W.
2
 
belart
22:38:29 18.05.15
 
piropatron
21:05:59 20.05.15
Работаю быдлокодером но нифига не понял. Язык это инструмент. Что круче молоток или отвертка?

#20
 
daiver
18-05-2015 22:38
 
5
 
2604
 
Старожилы S.F.W.
0
Цитата: Грим
Как по мне, если смотреть на "создание идеального языка программирования" с позиции автора - он за пример берет С++, то это вообще занятие неблагодарное.

Так речь же о производительности, этих сахарно-скриптовых языков уже овер 9000, но если хочешь производительности, надо юзать плюсы.

#21
 
Finch
19-05-2015 00:18
 
481
 
Старожилы S.F.W.
0
 
jurrio
15:19:10 19.05.15
 
Aleksandr_
22:11:24 21.05.15
HTML идеальный язык программирования

#22
 
savilen
19-05-2015 00:42
 
2
 
638
 
Старожилы S.F.W.
1
 
sergsum
14:35:49 26.05.15
по моему идеальный язык программирования это тот, которым говорит Рен-ТВ

#23
19-05-2015 02:45
 
13270
 
Старожилы S.F.W.
0
"идеального" ничего не бывает, мил-человек...

#24
 
Jeday
20-05-2015 00:25
 
128
 
Читатели
0
ООП наше все)

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
наверх