LINUX.ORG.RU

ООП, типизация, полиморфизм и скриптовость связаны между собой чуть менее чем никак.

Legioner ★★★★★
()

Истерика - логические продолжение неосиляторства,особенно рабочих ИНСТРУМЕНТОВ. Так что давай, утихомирся :)

pylin ★★★★★
()

Для тебя будет любой язык или парадигма «прекрасен» пока ты по нему хотя бы мануал не прочитаешь.

northicewind
()
Ответ на: комментарий от Legioner

ООП, типизация

Все верно в целом говоришь, но я все же реквестирую пример языка с динамической типизацией и полноценной инкапсуляцией.
А что касается тс-истерички, то я как всегда неоригенален, ибо ЯЗАБАН.

comp00 ★★★★
()

Ты постиг Дзен! Теперь можешь сделать бочку.

J ★★★★★
()
Ответ на: комментарий от comp00

я все же реквестирую пример языка с динамической типизацией и полноценной инкапсуляцией.

Например JavaScript.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

К сожалению не знаком, прошу уточнить два пункта: private члены там действительно private или __каквпистоне(); Отсутсвует ли возможность изменения/добавление полей вне класса?
И еще очень интересует как с этим в ruby, ибо хочу потыкать его, но боюсь разачарований, как с питоном.

comp00 ★★★★
()
Ответ на: комментарий от comp00

Если ооп часть языка, то зависит от. Если нет, то приват кладется в локализованный хеш по инстансу. Если инкапсуляция не религия, то не критично, разве что для поддержки в с* лучше делать импл, чем пересобирать мир.

arturpub ★★
()
Ответ на: комментарий от amazpyel

А что приключилось?

Я удаленного читать не могу, но вроде как ТС'у дали работу за еду - разгребать авгиевы конюшни. И чо? Он не справился и поехал?

stopitplease
()

где православные php и js в тегах?!

umren ★★★★★
()

Динамическая типизация
Python

Но зачем?

Kuzy ★★★
()
Ответ на: комментарий от comp00

К сожалению не знаком, прошу уточнить два пункта: private члены там действительно private или __каквпистоне()

Тоже фича мало к ООП относящаяся, так что должно быть всё равно.

stopitplease
()
Ответ на: комментарий от arturpub

Это ты сейчас про питон, или в общем? Как-то много «если»...

не критично

Такая псевдоинкапсуляция не может быть инкапсуляцией по определению. Вопрос криитичности наличия инкапсуляции это уже частный вопрос, ответ на который зависит напрямую от разработчиков. Ящитаю что если ООП, то инкапсуляция должна быть. Имеешь такое же право со мной не согласиться.

comp00 ★★★★
()

Ибо идеальный полиморфизм! Все скриптовые языки прекрасны, особенно ПИТОН!

Желторотик, ты дебажить тонны динамического кода не пробовал? Где слон может быть жирафом, а жираф запросто попугаем.

iVS ★★★★★
()
Ответ на: комментарий от stopitplease

Как жеж. Одна из основных фишечек ООП, это создание интерфесной структуры, для управления приватными, недоступными из вне данными.

comp00 ★★★★
()
Ответ на: комментарий от iVS

Желторотик, ты дебажить тонны динамического кода не пробовал?

Он как раз его и дебажил, а теперь мы видим последствия этого.

tailgunner ★★★★★
()
Ответ на: комментарий от comp00

Я надеюсь, у тебя нет предвзятого мнения о Common Lisp? Так вот там вообще нет никаких private/public полей (слотов, как они там называются). Но ты можешь писать accessors (функции для доступа к слотам) или генерировать их автоматом. Единственный минус с тамошней инкапсуляцией - нет статических методов.

Кой-где ещё тоже нет public/private, а доступ к переменным экземпляра осуществляется через getter/setter

stopitplease
()
Ответ на: комментарий от stopitplease

или генерировать их автоматом.

Ну и те символы, которые экспортнешь из пакета и будут «публичными», хотя и не по-настоящему, а «как в питоне»

stopitplease
()

Продолжение, лол.

Вообще-то первая истинная реализация ООП и была динамически типизированной. Ультрапозднее связывание суть один из постулатов.

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

первая истинная реализация ООП и была динамически типизированной

Это ересь секты смоллтокеров. Первая реализация ООП была в статически типизированной Симуле.

tailgunner ★★★★★
()
Ответ на: комментарий от stopitplease

предвзятого мнения о Common Lisp?

Ценю и уважаю, только вот только он все же более функциональный...

public/private

здесь и ранее public/private употреблялись не в виде конектреных модификаторов, а как характеристика скрытых и открытых полей класса. Понятно что это может осуществляться не только через модификаторы.

доступ к переменным экземпляра осуществляется через getter/setter

Кстати считаю это наиболее правильным: все по умолчанию скрыто, а к чему уже доступ - осуществляется интерфейс в виде геттеров/сеттеров. Сам себя приучил сразу так писать.

comp00 ★★★★
()
Ответ на: комментарий от iVS

дебажить тонны динамического кода не пробовал? Где слон может быть жирафом, а жираф запросто попугаем.

Дебажить тонны динамического кода в грамотной среде с живыми объектами - сплошное удовольствие, инфа соточка

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

Слово «истинная» специально пропустил, да?

Ясно же написал - это ересь смоллтокерская.

tailgunner ★★★★★
()
Ответ на: комментарий от yoghurt

Живо

И где применяется, кроме как в каких-нибудь макросах для каких-нибудь плоттерах от каких-нибудь XEROX ?

Ты синтаксис паскаля только в ":=" разглядел?

Экземплы в вики напомнили мне о темном паскалевском прошлом...

comp00 ★★★★
()
Последнее исправление: comp00 (всего исправлений: 1)
Ответ на: комментарий от yoghurt

Дебажить тонны динамического кода в грамотной среде с живыми объектами - сплошное удовольствие, инфа соточка

Получаю удовольствие от корректно работающего кода, а не дебага. Что я сделал в своей жизни не так?

iVS ★★★★★
()
Последнее исправление: iVS (всего исправлений: 1)
Ответ на: комментарий от comp00

И где применяется, кроме как в каких-нибудь макросах для каких-нибудь плоттерах от каких-нибудь XEROX ?

Нет

Экземплы в вики напомнили мне о темном паскалевском прошлом...

Паскаль - совершенно другая песня, и синтаксис у них пересекается разве что в присваивании.

yoghurt ★★★★★
()

Твои последние темы и комментарии мне knotri напоминают. Залогинься под настоящим аккаунтом что ли.

z00ke
()
Ответ на: комментарий от iVS

Уж вместо ежа в динамике исправляется примерно столько же времени, сколько соответствующая ошибка компиляции в статике. При грамотном подходе

yoghurt ★★★★★
()
Ответ на: комментарий от comp00

А я тут постил шот с sclang. Считай пример того же смолтока, только по конкретную задачу.

// Блин, зачем я опять зарегистрировался! Корю себя за слабохарактерность.

stopitplease
()

Страшно становится, когда я наблюдаю, что делает с людьми (на примере ув. Bizun) петухон! Вот уж действительно омерзительное поделие, надеюсь, что не придется с ним сталкиваться.

CARS ★★★★
()
Ответ на: комментарий от yoghurt

Уж вместо ежа в динамике исправляется примерно столько же времени, сколько соответствующая ошибка компиляции в статике

Смотря какие статические языки... по-настоящему статические - это Haskell, OCaml, Agda. Хочу изучить один из них, присматриваюсь к хаскелю.

iVS ★★★★★
()
Ответ на: комментарий от iVS

это Haskell,

Охохох, на первых порах ты будешь большую часть времени с компилятором воевать, нежели код писать :)

yoghurt ★★★★★
()
Последнее исправление: yoghurt (всего исправлений: 1)
Ответ на: комментарий от yoghurt

Уж вместо ежа в динамике исправляется примерно столько же времени, сколько соответствующая ошибка компиляции в статике

Только он остается в программе до момента выполнения, или даже до момента выполнения с определенными параметрами.

При грамотном подходе

...который никто не умеет

tailgunner ★★★★★
()

Так будет с каждым.

thesis ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.