LINUX.ORG.RU

Функциональное программирование должно вытеснить ООП.


3

2

Пришел к такому выводу. Сижу курю хаскель, признаться честно после рубей, жабы и обжектив-си въехал не сразу, но кажется это именно то чего не хватало и без чего «в светлое будущее» - никак, жесткое ощущение, что индустрия сейчас из-за глубокого прогиба под проблемно-ориентированные задачи топчется на месте.

ЗЫ: Немного пьян, так что повествование местами бессвязное.

Перемещено true_admin из talks


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

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

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

В жабе и сишарпе хотя бы в рантайме виртуальные вызовы специализироваться умеют

и зачем это нужно? (я не троллю, просто не знаю)

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

и зачем это нужно? (я не троллю, просто не знаю)

Сам же тут распинался про двойное разыменование указателя при виртуальных вызовах, и про то, что x86 - жопа. А тут динамически генерится код с прямыми вызовами, когда это в рантайме можно быстро и дешево определить.

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

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

Ну, этот код такой уродливый в первую очередь из-за уродства STL

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

В первую очередь он уродлив из-за блямбды. Идиоматический код на STL намного более читабельный был бы.

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

Сам же тут распинался про двойное разыменование указателя при виртуальных вызовах, и про то, что x86 - жопа. А тут динамически генерится код с прямыми вызовами, когда это в рантайме можно быстро и дешево определить.

ну да. Осталось дождаться, пока x86 вымрет. Но боюсь, я не доживу.

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

Ну, этот код такой уродливый в первую очередь из-за уродства STL

пиши без STL, раз такой умный. Сделай свою STL, будь мужиком.

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

Вот это вот лютое говно как раз и отвратительно: myv1.begin(), myv1.end(), myv2.begin()

перегрузи операторы, и пиши как тебе нравится.

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

Слушай, ты совсем дебил, да? Тебе рассказывают, как на x86 это делается дешевле и круче, чем в C++, а ты пердишь и воняешь всякую чушь. Не стыдно?

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

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

Слушай, ты совсем дебил, да? Тебе рассказывают, как на x86 это делается дешевле и круче, чем в C++, а ты пердишь и воняешь всякую чушь. Не стыдно?

стыдно. За ЛОР.

PS: погугли, что такое llvm, и на кой х оно нужно.

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

Пиздец ты дебил. При чем тут llvm, сучка? Я тебе, сучке, про динамическую специализацию говорю, а ты мне про всякую статическую чушь тут вякаешь.

anonymous
()

Функциональное программирование должно вытеснить ООП.

Только за один заголовок ТС'а надо поместить в психушку )))

после рубей, жабы и обжектив-си

Cи! Сука, заботай Си! ))))

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

Положа руку на сердце есть ли язык более удобный для программиста, и при этом быстрый, чем C#?

есть плюсы — неудобные либы, зато быстрее.

Раз уж речь про либы зашла, то Qt! И тут С# отсасывает с проглотом по всем статьям.

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

Писать надо просто и понятно

Незнакомый код ≉ непонятный код. Если синтаксис лямбд известен, то и непонятности нет.

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

Синтаксис брейнфака известен и понятен. Готов поддерживать миллион строк кода на брейнфаке?

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

Вот это вот лютое говно как раз и отвратительно:
myv1.begin(), myv1.end(), myv2.begin()

Ну нет, итераторы вполне удобны. Да и в типовых случаях это «лютое говно» прячется за «синтаксическим сахаром»:

for(auto value : myv1)

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

Синтаксис брейнфака известен и понятен.

Мне не известен.

Намёк понял, но ты передёргиваешь. В лямбдах нет ничего ужасного (сравнивая с остальным С++).

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

В первую очередь он уродлив из-за блямбды. Идиоматический код на STL намного более читабельный был бы.

Да ну? Создавать функтор или функцию для разового применения - это многословнее. Чем лямбды так ужасны?

Не говоря уже о том, что записать это можно аккуратнее и без лишних подробностей (типа ненужного возвращаемого значения):

std::transform(myv1.begin(), myv1.end(), myv2.begin(), [](auto d)
{
  return d * 3; 
});
В упор не вижу ничего особенно уродливого.

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

Еще одно невежественное ничтожество, которое сравнивает гуелабалку Qt и полноценную платформу .NET.

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

Функциональное программирование должно вытеснить ООП.

Только за один заголовок ТС'а надо поместить в психушку )))

Так это по Фрейду «вытеснение»...

slackwarrior ★★★★★
()

Си - плохо?

А то я совсем не понимаю ООП и это функциональное программирование :-((( Только си и экшн-скрипт (второй, 3-ий не понял тоже) понимаю... Может кто-то обяснить мне что таково дает ооп?

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

И тут С# отсасывает с проглотом по всем статьям.

Это по каким же?

И c какой стати C# отсасывает, если Qt — это либа в т.ч. и под C# ?

next_time ★★★★★
()

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

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

«Всё правильно, ООП ведет к лабиринту головного мозга и вывода helloo,world через десятку строк лишнего кода, сам по себе ООП существует как свистелка, якобы укрощающая код на языке и внешне делающая его сложней, чем он является на самом деле.»

Садись, два. Инкапсуляция данных в объекте и наследование упрощают повторное использование кода в других программах и доработку функциональности. Сложнее, да. Зато будет работать везде, где применимо. Толстого тоже сложно читать, комиксы про Микки Мауса проще.

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

Садись, два. Инкапсуляция данных в объекте и наследование упрощают повторное использование кода в других программах и доработку функциональности. Сложнее, да. Зато будет работать везде, где применимо. Толстого тоже сложно читать, комиксы про Микки Мауса проще.

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

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

Инкапсуляция данных в объекте и наследование упрощают повторное использование кода в других программах

Трындёж из начала девяностых. Ты наверное это в какой-нибудь «философии джава» вычитал?

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

Ну, про повторное использование применительно к бизнес-компонентам вышел пшик. Сейчас все молятся на SOA, реюз через ООП в основном в библиотеках применяется.

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

Трындёж из начала девяностых.

Опровергни, борщехлеб. Только не бла-бла-бла, а практикой. Покажи качественный, широко применяемый, поддерживаемый софт, написанный какими либо иными методами.

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

Я всегда не любил быдолкодию, учитель и меня всегда было по ней 2! Ты даже тут не удержался от лишней обертки на стандартную процедуру и тут налепил на неё красивое слово, вот вашь и ООП тут.. Я бы хотел посмотреть, какая команда в ассемблере x86 отвечает за " Инкапсуляция данных в объекте", ибо тот код, что пишут на C++, я волен называть как фантастический, в прямом смысле. Ибо то, что я якобы там пишу, не соответсвует реальному представлению в полученной программе.

anonymous
()

Функциональное программирование никому ничего не должно.

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

Индустрия топчется на месте? Где ты это увидел-то? Со стороны выглядит как ещё одна попытка заставить людей метать друг в друга копья из-за разной идеологии, не обращая внимание на то, что они друг другу не противоречат и могут сосуществовать.

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

«Я всегда не любил быдолкодию, учитель и меня всегда было по ней 2!»

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

ФП - глупость несусветная.

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

ФП - глупость несусветная.

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

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

«котя таким ограниченным людям как ты, этого не дано понять»

Да, я ограничен хорошим образованием, куда уж мне до летающих в мире фантазий мечтателей.

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

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

Ты только в прошлом посте ставил мне двойку за свой VisualBasic, а сейчас ты меня уже вывел на работу, ставит под сомнения, что ты вообще учился в школе. Что будет дальше, я уже возглавлю какой-нибудь комитет по разработкам стандартов или ты найдёшь для меня новую работёнку в «говноконторе» твоего уровня? Такие особи как ты не должны заботится о трудоустройстве успешных програмеров, они не ищут работы, работа ищет их, но тебе этого никогда понять, нынче хеллоуворлдщики идут на спад, пройдёт ещё несколько лет и ты сам будешь молить, чтобы тебе доверили в руки метлу, но ты на это не надейся, придется разобраться с толпой таджиков, претендующих на аналогичную роль.

Ты один их тех лицемеров, что считают себя крутыми челами потому что гордятся тем, что ихний helloworld может содержать в себе минимум 2 переполнения буфера 1 ошибку при конпеляции.

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

Ты больной, да? xslt - чисто функциональный язык. И xslt нужен. А вот где-то еще, кроме как в xslt, функциональщина не нужна. Теперь гуляй мимо, ламер.

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

Ты считаешь это подобие xml языком?

Ты больной, да?

Лично мне - нет, не нужен, а ты его можешь прикрутить себе в программу для вывода твоих любимых фраз, ты ведь так любишь перегружать софт лишним функционалом и конечно, это ведь будет так круто!11 А,

Теперь гуляй мимо, ламер.

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

«Ты только в прошлом посте ставил мне двойку за свой VisualBasic, а сейчас ты меня уже вывел на работу, ставит под сомнения»

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

«о трудоустройстве успешных програмеров»

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

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

про XSLT это такой тонкий троллинг? =)

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

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

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

Ты явно в их число не входишь и не войдешь.

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

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

WTF?! Что это значит, кто меня ищет? какое резюме ? Что я пропустил, разговаривая тут с отсталым школьником ?

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

Ты считаешь это подобие xml языком?

Весь enterpriZe на нем сидит, а тебя спросить забыли.

Лично мне - нет, не нужен

Ну так и лично ты не нужен.

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

«моя страна и твоя совершенно разные страны и уровень умственной подготовки в вашей стране неприемлемо мал»

Ты не из России? Тогда понятно, наверное, беларус. Иначе где еще такой примитивный уровень знаний о программировании может считаться «профессинальным»?

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

«если у тебя есть примеры того, как уличные бомжи становились самодостаточными людьми - подкинь примеров»

Не подкину, может расслабиться, бомжи не более самодостаточны, чем ты.

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

Весь enterpriZe на нем сидит, а тебя спросить забыли.

Это твои коллеги, толкаемые свои энтерпрайс брутеры вконтакте и одноклассников на супер хацкерскихъ форумах ?

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

Ты не из России? Тогда понятно, наверное, беларус. Иначе где еще такой примитивный уровень знаний о программировании может считаться «профессинальным»?

Допусти такую возможность, что кроме стран европы, наша планета носит около 200 различных других стран и что, если я владею русским языком, я могу жить в любой из этих двух сотне, напряги уж пожалуйста свои небольшие извилины и заодно расскажи, по каким критериям ты смог оценить тот или иной уровень профессионализма, что он у тебя сразу попал в разряд «примитивных»?

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

Не подкину, может расслабиться, бомжи не более самодостаточны, чем ты.

Но тут с тобой я не в силах спорить, как говорится - тебе видней.

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

" если я владею русским языком, я могу жить в любой из этих двух сотне"

Судя по грамотности, русским языком ты владеешь не намного лучше языка программирования:-) В общем, понятно, ты живешь в одной из банановых республик, и среди аборигенов ты гений программирования.

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