LINUX.ORG.RU
ФорумTalks

[JS прекрасен] ООП не нужен


0

2

ООП - это быдлокод, быдлокод не нужен. Убедите меня в обратном. Зачем нужен ООП? Я классы даже никогда не использовал, но проблем читаемости и структуры не наблюдал.

А еще меня бесят такие товарищи, которые боятся делать так:

obj.wrtSel (
	i = addbr (
		"[quote=" +
			(function (){
				if (i = msg.getElementsByClassName ("sign")[0].getElementsByTagName ("a")[0])
					return i.innerHTML;
				else return "anonymous";
			})() + "]"
		+ seltxt.toString ().replace (
			/(?:>>-----Цитата---->>|^)(.*)<<-----Цитата----<</,
			function (str, p){
				if (p!="") return "[quote]" + p + "[/quote]";
				else return "";
			})
		+ "[/quote]"),
	i.length);
(кусок из будущей версии LORCode Tools)

Страшно представить, сколько бы мусоро-переменных у них завелось бы тут. Как обидно, что в единственном популярном языке с нормальным синтаксисом (Python) так, за редким исключением, не сделаешь (и я в нем связывался с теми 100500 муоро-переменных).

cast drBatty, интересно твое мнение. Также, небыдлокодеры, насколько рационален приведенный код?

Ответ на: комментарий от moscwich

компиляторы давно умеют оптимизировать.

У меня скриптовые языки.

Это ортогональные понятия. Скриптовый язык может быть компилируемым. Интерпретатор может быть не скриптовым.

KRoN73 ★★★★★
()

В программерсоком мире две тенденции: безудержно фапать на ООП и утверждать, что ООП не нужно. При этом только некоторые умеют здраво рассуждать. ООП удобен при некоторой организации больших проектов. Вот и всё. А твой скрипт, каким бы полезным он не был, не является масштабным проектом, который вдобавок пишется только одним тобой - было бы странно, если бы ты отстаивал ООП. Но это не показатель для других проектов.

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

У меня скриптовые языки.

байткод или ненужно

cvs-255 ★★★★★
()
Ответ на: комментарий от KRoN73

Средняя зарплата учителей в Москве составляет 40 тысяч рублей.

Ну и да, в нашей школе с начало этого уч. года и летом поменяли все парты и шкафы, почти все окна и стулья (хреновые - от них отказывались), и много где полноценный ремонт провели.

moscwich
() автор топика

Я классы даже никогда не использовал
ООП - это быдлокод

Я на машинах никогда не ездил - все машины говно. Я никогда не трахал женщину - трахаться - унылое говно. Дальше продолжать?

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

Zhbert

Я на машинах никогда не ездил - все машины говно.

Да это тоже про меня.

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

Капитан в недоумении, википедия не помогла.

Википедия тебе и не поможет. Там про классификацию компиляторов и интерпретаторов полная бредятина расписана.

А по поводу ортогональности, легко:

Скриптовый компилируемый — tcc, python и т.п.
Скриптовый интерпретируемый — bash
Нескриптовый компилируемый — gcc, java и 100500
Нескриптовый интерпретируемый — over9k встроенных бейсиков и т.п.

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

Хотя я все-таки за питоновский синтаксис.

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

И если уж речь зашла про питон, то отступы это шелуха, его прелесть не в них. А вот в чём же она, ты походу не догнал. Итак, поехали:

Красивое лучше, чем уродливое. - fail
Явное лучше, чем неявное. - fail
Простое лучше, чем сложное. - fail
Сложное лучше, чем запутанное. - fail
Плоское лучше, чем вложенное. - fail
Разреженное лучше, чем плотное. - fail
Читаемость имеет значение. - EPIC FAIL
... (поскипано т.к. не особо применимо к данному случаю)
Должен существовать один — и, желательно, только один — очевидный способ сделать это. - fail
Хотя он поначалу может быть и не очевиден, если вы не голландец. - а ты часом не голландец? это многое бы объяснило.
...
Если реализацию сложно объяснить — идея плоха.
Если реализацию легко объяснить — идея, возможно, хороша.
Пространства имён — отличная штука!
Будем делать их побольше. - в приведённом коде их хватает=)

Lonli-Lokli ★★
()

я бы уволил за такой код. Моментально.

JFreeM ★★★☆
()

Тред не читал

А еще меня бесят такие товарищи, которые не боятся делать так

fixed

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

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

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

Я читал эту идеологию. Из нее половина как-раз про отступы и отсутствие ненужных символов. fail твои не понимаю, в ov я правда не сильно следил за читаемостью, но в общем мне не хватало записать вложенности, отсюда беды. Что ты можешь конкретно на примере ov сказать про нечитаемость? Каким должен выглядить мой код (часть приведи) в читаемом виде? Сабжевый читаемый код уже приводили - я понял (хоть и не согласен).

Lonli-Lokli

Хотя он поначалу может быть и не очевиден, если вы не голландец. - а ты часом не голландец?

На самом деле я немец, хотя вроде бы и русский.

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

В этом году планировался (а может и осуществился) перевод на оплату по ученикочасам (поголовье оболтусов * количество уроков = profit). Так же на фоне всех воплей о повышении зарплат, реально получаемые суммы в одной отдельно взятой московской школе обвалились примерно на 2-5К.

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

Lonli-Lokli

тянущего на себе кучу различных факультативов, кружков и выводящего школоту на на всякие конкурсы.

У нас такие почти все.

Lonli-Lokli

учителя высшей категории

Но таки у вышей категории при вышеперечисленном побольше будет.

moscwich
() автор топика
Ответ на: комментарий от Lonli-Lokli

И дополнительные почти все отменили (и правильно).

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

Сравни: a + func_name() +b

и

a +
    делаем что-то
    на протяжении
    нескольких строчек
        а может и с дополнительными
            уровнями
                 вложенности и.длинными.обращениями.к.методам.библиотечных.классов(которые, совершенно, не, имеют, никакого, отношения, к, ООП)
   + b

На что мажем, что через неделю после написания второго варианта, ты, чтобы понять, что же происходит будешь перечитывать весь код? Кстати, ровно то же произойдёт с однобуквенными названиями переменных и функций. Сделай подарок будущему себе, пиши понятный код.
Lonli-Lokli ★★
()
Ответ на: комментарий от moscwich

Из нее половина как-раз про отступы и отсутствие ненужных символов.

Чукча не читатель, чукча писатель, аднака. Ну или приведи конкретные рекомендации по поводу отступов и однобуквенных названий переменных.

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

Это идеология языка же? Ну вот типа манифест, описание, пиар, как еще сказать-то такой... А почему язык такой? Потому что отступы.

moscwich
() автор топика
Ответ на: комментарий от KRoN73

Википедия говорит

компиляция в MSIL, компиляция в байт-код Java

Но только никому оно в линуксе не сдалось, все-равно оставляют интерпретировать.

moscwich
() автор топика
Ответ на: комментарий от Lonli-Lokli

Lonli-Lokli

На что мажем, что через неделю после написания второго варианта, ты, чтобы понять, что же происходит будешь перечитывать весь код?

Ну я же отступы вижу. Но мы же говорим про питоновкий ov, или нет?

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

Приведи мне конкретную цитату из данного текста, где говорится про отступы. Потом цитату про лишние символы. Потом твои критерии определения лишних символов. А потом ещё раз перечитай «Дзен Питона» и подумай.

Lonli-Lokli ★★
()
Ответ на: комментарий от moscwich

Да что тебе отступы покоя не дают, лесенкой можно писать на чём угодно, и в большинстве случаев таки нужно. У тебя идёт сложение 4 строк, 2 из них вычисляются, при этом вычисления написаны не сильно читаемо, а чтобы понять что же там происходит надо это всё прочитать. Убираешь вычисления в функцию с понятным названием и тебе больше не надо перечитывать её реализацию, пока ты не полезешь её менять.

Lonli-Lokli ★★
()

msg.getElementsByClassName («sign»)[0].getElementsByTagName («a»)[0]

Speak indish?

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

В жабаскрипте «переменные» определяются ДО выполнения кода, определяются по наличию знаков присваивания. Что в купе с воспоминаниями об оптимизации SSA могло спровоцировать рецедив RAM-клаустрофобии :)

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

И зачем же там ещё вложенность? Это очень хороший пример того, как Питон не даёт тебе генерировать говнокод.

Lonli-Lokli ★★
()

Посмотри на coffescript, может, понравится.

По остальному - «зачем ООП», «не нравятся переменные», и т.д. — детский сад. Код - говно.

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

Ты компиляцию исходного кода путаешь с интерпретацией байткода. Это снова ортогональные вещи.

KRoN73 ★★★★★
()

Зачем нужен ООП? Я классы даже никогда не использовал, но проблем читаемости и структуры не наблюдал.

Размер исходников самого большого проекта, в котором ты участвовал - в студию!

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

у меня нет столько времени, при наличии существующих проектов, работы и школы.

школы

Да все уже и так поняли...

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

Reaper

Посмотри на coffescript, может, понравится.

Да смотрел. Хорошая вешь, но на практике то костыль, ведь так?

moscwich
() автор топика
Ответ на: комментарий от segfault

segfault

Размер исходников самого большого проекта, в котором ты участвовал - в студию!

200 килобайт в CP1251, правда это древний, люто, бешено, быдлокодерский виндовый visual-проект.

segfault

школы

Да все уже и так поняли...

Что-то не нравится?

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

Компиляция - это перевод программы из одного представления в другое. Из языка С++ в машинный код, из сишарпа в CLR из еще чего-нибудь в абстрактное синтаксическое дерево, из языка Scala в язык C. Исполнять (или интерпретировать) с разном напрягом можно и машкод, и байткод, и прямо C.

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

Но ООП часто примеряют во все дыры, даже хлоуворолды.

Такие хеллоуворды тоже нужны, ибо `echo «Hello world!»` любой дурак напишет, и он никого ничему не научит.

segfault ★★★★★
()

ООП - это быдлокод, быдлокод не нужен.

Не любой ООП - быдлокод, но быдлокода на ООП много, как и на всем остальном тоже.

msg.getElementsByClassName («sign»)[0].getElementsByTagName

Тоже чуть-чуть ООП.

Твой пример я старательно распарсивал несколько минут, при этом я уже около года или даже больше практикую CL на рабочих боевых задачах - то есть сама идея таких, так скажем, записей мне более чем понятна и близка. Но конкретно вот это исполнение конкретно на яваскрипте смотрится как говно. В качестве разминки для мозгов попробуй прокомментировать свой код так, чтобы простые смертные могли быстро его понимать.

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

staseg

Но конкретно вот это исполнение конкретно на яваскрипте смотрится как говно. В качестве разминки для мозгов попробуй прокомментировать свой код так, чтобы простые смертные могли быстро его понимать.

кстати да. Написан lorcode чуть чуть грязновато. Но разобраться в коде не составила труда, хотя я вроде бы и не знаком с js.

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

в javascript'е нет классов

в js на выходе функции можно выдавать новый объект. результат почти тот же

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