Vladislav
https://en.m.wikipedia.org/wiki/Vala_(programming_language)
Berkus
Vala например
Berkus
йеп, наркоманию не остановить
Berkus
как говорится если у вас в руках есть GObject все вокруг превращается в сишный код
Vladislav
А я-то что? Это они наркоманию разводят)
MrSmith
Vala например
Есть еще си с блэкджеком, гит отвиснет кину линк
MrSmith
А то не осилили и поливают помоями
Vladislav
СИ не трож
Нинужен (для прикладных задач)
Dmitriy
Кто тут святое оскорбил? Кого на кол?
Vladislav
Этот вообще на лиспе пишет, ты что
MrSmith
На си можно написать то же что на крестах но при этом иметь намного больше контроля
MrSmith
Этот вообще на лиспе пишет, ты что
Лисп игрушка для математиков и вконец перекуривших сипласников
MrSmith
Холивары мы конечно устраивать не будем, если вы перестанете в кресто чате при любом удобном случая указать на дзен постить лисп
MrSmith
это эмм, бред
Обсуждая это, в холивары перейти должны мы
Berkus
да я просто факт отметил, чего тут спорить
Dmitriy
это эмм, бред
Если рассматривать задачу чисто со стороны функционала конечной программы, то да, можно. Только вот насчет национальности решения некоторых задач на Си можно реально поспорить.
MrSmith
За что снова банан, сигналы к ОПП не относятся
MrSmith
Путают людей, и кричат на весь чат, что тру опп в swift, smalltolk, obj-c
Berkus
прекрати нести бред
MrSmith
прекрати нести бред
Дак ты скажи где бред то, я так считаю
Berkus
тру ооп действительно больше в смолтоке чам во всем что ты назвал кроме него
MrSmith
У всех разные карандаши так то, имхо банан просто за то, что у меня другие представления?
Sergey
тру ооп действительно больше в смолтоке чам во всем что ты назвал кроме него
а действительно интересно, почему же smalltalk "трушнее" остальных языков в плане ооп?
MrSmith
а действительно интересно, почему же smalltalk "трушнее" остальных языков в плане ооп?
Не знаю, но про сигналы, и что это болше контрактное программирование а не опп, ты не пиши а то как мне банан даст
Berkus
вот опять бред несешь, какое контрактное программирование ты чего
Berkus
я скорее тебе еще бананов отвешаю, потому что ты совсем рандомные слова в предложения подставляешь
MrSmith
вот опять бред несешь, какое контрактное программирование ты чего
https://ru.m.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%B0%D0%BA%D1%82%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
Berkus
а действительно интересно, почему же smalltalk "трушнее" остальных языков в плане ооп?
потому что объекты имеют поведение и состояние, и единственный способ изменить их состояние - это попросить их использовать это свое поведение. это смолток, это начало 70-х и никакого с++ тогда не было еще, это базис симулы-67. по факту одно из самых ранних применений ооп.
Berkus
https://ru.m.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%B0%D0%BA%D1%82%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
там прямо написано "МЕТОД ПРОЕКТИРОВАНИЯ" а я тебе говорю про "ЯЗЫК ПРОГРАММИРОВАНИЯ" видишь разницу, не?
Berkus
задрал реально
vladislav
его же только недавно разбанили?
Gleb
=)
Vladislav
Sergey
потому что объекты имеют поведение и состояние, и единственный способ изменить их состояние - это попросить их использовать это свое поведение. это смолток, это начало 70-х и никакого с++ тогда не было еще, это базис симулы-67. по факту одно из самых ранних применений ооп.
окей, видимо у нас разные понятия о "тру" ) то что smalltalk может претендовать на статус родоначальника ООП методологии, это ок ) но ведь я на каких-нибудь шарпах (не бейте =) ) тоже могу писать в чистом ООП.
Berkus
The Smalltalk language, which was developed at Xerox PARC (by Alan Kay and others) in the 1970s, introduced the term object-oriented programming to represent the pervasive use of objects and messages as the basis for computation. Smalltalk creators were influenced by the ideas introduced in Simula 67, but Smalltalk was designed to be a fully dynamic system in which classes could be created and modified dynamically rather than statically as in Simula 67.
Berkus
не знаю насколько считать его тру или не тру, но ооп в общем не только и не столько в классах заключается
доня.
а действительно интересно, почему же smalltalk "трушнее" остальных языков в плане ооп?
потому что изначально ООП подразумевало отправку сообщений, совсем не в том смысле как в современном мейнстриме, где вызов метода - просто сахарок для всё той же процедурщины по задумке бати ООП - Алана Кея - язык предоставляет действительно рантайм для сообщений, так сделано в смолтоке и обжс, похожие идеи легли в основу модели акторов
Berkus
Smalltalk (1972 to 1980) is another early example, and the one with which much of the theory of OOP was developed. сколько в объектах и их состоянии/действиях
доня.
а чем ООП а-ля C++ отличается от процедурщины кроме незначительного сахарка мне до сих пор никто растолковать ясно не мог
Vladislav
семантически, отправка сообщения слабо отличается от вызова метода
(если для простоты считать код синхронным, разумеется)
доня.
семантически, отправка сообщения слабо отличается от вызова метода
семантически, вызов метода ничем не отличается от обычного вызова функции, как в старой доброй процедурщине
Berkus
семантически, отправка сообщения слабо отличается от вызова метода
отправка сообщения в общем случае более общее действие
Vladislav
и на самом деле, отличается
я не спорю что отличается, вопрос в том, насколько эти отличия фундаментальны
Vladislav
имхо, не очень
Berkus
детали реализации )
доня.
отправка сообщения имеет более динамический характер и вследствие этого работа с ней гибче посмотрите на модель акторов ту же, там сообщения можно перехватывать, пересылать по сети другим системам акторов написанных хоть на других языках вообще
Berkus
в objc примерно то же самое, хоть там и более низкого уровня сообщения чем в акторах/smalltalk
🦥Alex Fails
Вызов метода - статика, виртуальные функции - ограниченно динамические сообщения (в с++)
Berkus
но можно добавить объекту новое сообщение в рантайме, например
Vladislav
в c++ взяли ту вариацию, которая разрешает эффективную реализацию (процедурками), только и всего
Berkus
однако буду считать что более трушное и полное определение ооп использует отправку сообщения а не вызов процедурки
Berkus
тксзать, концептуально
🦥Alex Fails
однако буду считать что более трушное и полное определение ооп использует отправку сообщения а не вызов процедурки
Забавно то, что в винде на стшном апи запилили оконный ооп, ведь там тоже окна обмениваются сообщениями, хендлят их. Хотя это не совсем та аналогия
Berkus
ну вообще идея та же, да
Berkus
у них правда под рукой не было нормальных паттернов как это программно оформить, поэтому получился фарш
Berkus
да акторы не так сильно отличаются, скорее в плане управления стейтом, чем в мессадж пассинге
Berkus
в objc сообщение падает в objc_msgSend, в акторе оно падает в мейлбокс, не велика разница
Berkus
все отличие в активной модели, собственнный тредик там все дела
Олександр
Посоветуйте быстрые альтернативы для random из STL А то чет ужасно медленно, если сравнивать с rand()
Олександр
Это без учета оверхеда на создание distribution
Square
На старте создал и забыл
Олександр
Мне необходимо его пересоздавать
Square
Ну в таком случае полон гитхаб всяких простых и быстрых реализаций. Бери любую
Square
У тебя ведь не крипта там, да?)