LINUX.ORG.RU

React vs Vue vs Svelte vs somebuzzword: что лучше?

 , svelte,


0

2

React/pReact

App.jsx:

import { h, Component } from 'preact'

export default class App extends Component {
  state = {
    counter: 0,
  }
  increaseCounter = (e) => {
    this.setState((state) => ({
      counter: ++state.counter
    }))
  }
  render(_, { counter }) {
    return (
      <button onClick={this.increaseCounter}>
        Count: {counter}
      </button>
    )
  }
}

index.js:

import { h, render } from 'preact'
import App from './App'


render(<App />, document.querySelector('#app'))

Vue

App.vue:

<template lang="pug">
button(@click="++counter") Count: {{ counter }}
</template>

<script>
export default {
  data: () => ({
    counter: 0,
  }),
}
</script>

index.js:

import Vue from 'vue'
import App from './App.vue'

new Vue({
  el: '#app',
  render: h => h(App)
})

Svelte

App.svelte:

<script>
let counter = 0
</script>

<button on:click={() => ++counter}>Count: {counter}</button>

index.js:

import App from './App.svelte'

export default new App({
  target: document.body,
})

Прочее

index.html примерно общий для всех:

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta charset="utf-8" />
    <title></title>
    <meta name="author" content="" />
    <meta name="keywords" content="" />
    <meta name="description" content="" />
  </head>
  <body>
    <div id="app"></div>
    <script src="./index.js"></script>
  </body>
</html>

Запускал все через parcel.

Можно ли сделать на основании этих примеров вывод о громоздкости реакта? Или вы можете привести примеры, где React менее многословен (это у меня еще без TypeScript). Сейчас примерно половина вакансий с React. Мне нужно определиться нужно ли вдовесок выучить эту парашу (хотя там учить особо нечего, но меня тошнит от смешения разметки и js)

★★

Последнее исправление: tz4678 (всего исправлений: 2)

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

что в Rust на уровне компилятора контролируется то, за чем в C++ нужно самостоятельно следить

Как бы тебе по проще объяснить. Вот есть табун школоты, далее этот табун школоты имеет пропаганда. Далее какой-то балабол в интернете нажравшись этой пропаганды прибегает и начинает мне что-то рассказывать.

И тут вопрос. Какое отношение дошколёнок и то дерьмо, что влила в его пустую черепушку пропаганда, относится к реальности? Да никакого.

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

не забывать использовать RAII и move-семантику

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

Никакого move вообще не существует. Особенно в говнорусте и никаким образом сам он не работает.

и при этом же любите TS за то, что он сам контролирует соблюдение типов?

Во-первых я нигде не говорил о том, что я где-то люблю какой-то тс.

Во-вторых, именно говнораст говно не контроллирует типы, не имеет вывода типов, не имеет системы типов вообще. Раст это ещё большая скриптуха, нежели ts.

Даже тут ты обделался. Я выступаю за то, что язык не должен заставлять тебя жрать говно. Говнораст заставляет всегда. ts не всегда. Я выступаю за фундаментальность фичей в системе типов и вообще в языке. Говнораст не обладает какой-либо фундаментальностью - это бездарное говно. В качестве языка там выступает ворованный ir с ворованным синтаксисом к котому прикрутили какие-то говногенерики с ворованной же vtable.

Далее это говно ничего не смогло - пришлось воровать атрибуты и прикручивать кодогенерацию по комментам. Только комменты заменили на ворованные атрибуты. Так этого было мало - ничего говно не могло. Пришлось воровать m4 и прикручивать его к говну. Как в 80х годах.

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

Тайпскрипт это же такой сишарп.

Обосновывай потугу.

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

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

Ты в школу ходил? Вот сходи. И там тебя научат отличать вакансии уровня «жри легаси говно и латай его» и «не жри говно».

Каким местом? Вы как-то проспали момент, когда ООП стал немоден и непопулярен среди макак

Всегда.

Вон даже JS-макаки, несмотря на завоз классов в ES6 и взлёт TypeScript

как-то избегают марать руки об ООП

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

Всё обмазано дектораторами, обсерверами, di и прочими - всё является ооп-паттернами.

и цепляются за недо-ФП с модулями.

Никто ни за какое фп не цепляется. Просто есть много макак, которые поимела фп-пропаганда. Фп-пропаганда ему объяснила, что функция имеет какое-то отношения к фп. Там функциональное и там. А раз я использую функцию - значит это ФП.

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

Точно так же макака видит метод форич - ей сказали, что это фп. Очевидно, что нет. Видит генерики - ей сказали, что это фп. Очевидно, что нет. Видит анонимную функцию - ей сказали, что это фп. Очевидно, что нет.

Просто пропаганда использовала примитивную схему. Была математика, там были некие базворды. После эти базворды были реализованы в рамках cs и прикладного программирования. Очевидно, что никакого фп никогда не существовало.

После ради унификации нескольких смежных разделов науки и программирования в целом - были приняты общие базворды.

Но каким-то образом фп-сектанты начали воровать эти базворды и монополизировать их. И через это иметь хомячьё.

Вот даже по этому треду видно, ОП типичный макакич.

Он не обладает теми свойствами, которыми наделяешь его ты. А даже если бы обладал - это ничего не меняет.

Неважно, что «думает» жертва пропаганды. Жертва может белое считать чёрным. Главное то, чем оно является в действительности.

Базовые вещи из теоретического ООП в нём есть и так, а именно жабоподобного ждать не стоит.

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

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

Классы в JS как бы всегда были

Нет. Прототипы — это не классы. Принципиальная особенность идейного (да и жабного) ООП в том, что классы сами по себе бесполезны, они пригодны только для постройки объектов. Прототип же сам по себе — тоже полноценный объект.

сахарок над теми же самыми привычными прототипами

Да ладно, а наследование? Сахарок сахарком, но до ES6 оно через огромную жопу делалось.

Я не понял где ты там ФП увидел

ФП не столько в языке, сколько в моднявых фреймворках, а также некогда моднявом underscore/lodash. Но примитивные map/reduce/filter там тоже «всегда» были. Причём в отличие от PHP, где анонимные функции появились сравнительно недавно, ими даже можно было пользоваться!

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

по-другому там никак

Почему? Модули вполне тянут на замену ООП с точки зрения создания тырпрайзонпригодной архитектуры. Тот же Dependency Injection кроме как для тестирования без выхода за средства языка особенно не нужен. В современных языках заложены заточенные конкретно под тестирование возможности.

Завихрение с хейтом ООП пройдет, стоит лишь вырасти из коротких штанишек

Выгонят из одного места — перебегут в другое ;-) Куда венчурный капитал-то денется…

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

Может никого не волнует что там за мода была у макак

Дак рыночек подстраивается под макак, увы. Иначе JS-фуллстеков как таковых бы не было как массового явления, например. Задротов очень мало и на всех не хватает, а возможности по дрессировке макак ограничены, и капризность у макак повышенная. Ведь задроту много не надо, лишь бы из-за компа вылезать не надо было даже в рабочее время — а макаке подавай роскошную пальму на берегу моря, иначе ускачет.

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

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

Починил, не благодари.

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

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

Главное, что он на уровне языка, а не конвенции для избранных.

Никакого move вообще не существует. Особенно в говнорусте и никаким образом сам он не работает.

Как это не существует, если он там по дефолту? Чтобы не сработал move — надо особо плясать. А в плюсах наоборот: напороться на неявное копирование — как нехрен делать.

Во-первых я нигде не говорил о том, что я где-то люблю какой-то тс.

А чего ж защищаете его тут? Просто как меньшее из зол на фоне JS? Ну это другое дело.

ворованный ir

Давно использование опенсорсных технологий вместо велосипедостроения стало воровством? Понятно, почему Вас выгнали с ЛОРа…

не имеет вывода типов

Как в хачкеле?

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

И там тебя научат отличать вакансии уровня «жри легаси говно и латай его» и «не жри говно».

4.2, в школе такому не учат.

Именно фп-макаки воруют всё это

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

всё является ооп-паттернами

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

Фп-пропаганда ему объяснила, что функция имеет какое-то отношения к фп. Там функциональное и там. А раз я использую функцию - значит это ФП.

Ни хрена. Если бы было так — макаки путали бы функциональщину с императивщиной. Чего не наблюдается.

никакого фп никогда не существовало

Вот это номер! А что же это тогда? МП (математическое программирование)?

белое считать чёрным

Тьфу, взяли и помножили весь свой напускной авторитет на ноль простым инфантильным высказыванием.

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

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

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

Сечёте!

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

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

именно сахарок. как все было через прототипы, так и осталось. конкуренции и так особо нет, на одну вакансию 1,5 сооискателя, и те студенты. но тут твои шансы казалось бы высоки получить любую работу, но тут появляется другая проблема в виде нкадекватности работодателей, всяческого рода петухов тимлидов, которые очень часто и программировать то не умеют, а поэтому решающими станлвятся твои коммуникабельные способности… да и что греха таить часто на работу берут студентов лишь бы по-дешевле, а что от тех выхлоп 0, дело - третье. ну сидит студент, пишет по 10 строчек кожа, вроде все работает, а там портянки говнокода… чтобы быть конкурентным тебе достаточно написать пару хеллоувордов на node.js и выучить react/vue. первый сейчас более востребован, потому как 3 года назад он был на хайпе, но тогда каждая вторая вакансия была ангуляром, теперь же последнего нет. ruby был популярен в эпоху бума стартапов - это первая пятилетка десятых, но твиттерв конце-концов на джаве переписали, и все поняли, что раби не годится для интерпрайза, хайлоада, не может успешно решить c10k проблему

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

как все было через прототипы, так и осталось

Ну дык вся моднявая лапша, стандартная и нестандартная, транспиллируется хоть в ES5 — иначе не взлетит. И чё? Какая разница, поверх чего оно работает, если привносит новые абстракции?

конкуренции и так особо нет, на одну вакансию 1,5 сооискателя

Где это? Вот смотрим по DOU: фронт/ведроид — около 8, жаба/питон — 5, Ruby — всего 3. Разница налицо.

ruby был популярен в эпоху бума стартапов

Ну нового-то на нём не пилят особо, но ведь легаси надо поддерживать.

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

Главное, что он на уровне языка, а не конвенции для избранных.

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

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

Как это не существует, если он там по дефолту?

В школу сходи, повторю. Зачем ты пытаешься о чём-то кукарекать, если твои познания равны нулю?

Тебе сообщили - никакого move нету. То, что тебе, колхознику, пропаганда внушила иное. И что там что-то по дефолту - это ничего не значит.

move-семантика - это костыльное понятие из С++ и его раии. К твоему птушному говну оно в принципе не применимо.

Я тебе сообщу новость, маня. В сишке так же move по умолчанию и в крестах. Живи с этим не позорься больше.

А в плюсах наоборот: напороться на неявное копирование — как нехрен делать.

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

А чего ж защищаете его тут? Просто как меньшее из зол на фоне JS? Ну это другое дело.

Я нигде его не защищал. Я сравнивал его с flow - ещё большим говном и js вообще без какой-либо даже описательной типизации.

К тому же даже в отрыве от всего этого - в нём есть базовые номинально достойные вещи. Раст - это говно, которое заставляет своё хомячьё жрать дерьмо. И в котором ничего нет.

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

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

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

Давно использование опенсорсных технологий вместо велосипедостроения стало воровством? Понятно, почему Вас выгнали с ЛОРа…

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

Как в хачкеле?

Ещё раз, то что ты, сектант, где-то услышал какую-то херню никак не означает, что эта херня существует.

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

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

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

раби не годится для интерпрайза

Про руби это же троллинг. Но доля правды есть: на легаси можно зарабатывать не слишком напрягаясь. Я вот с перла кормлюсь например, кто-то вообще с кобола (эти самые блатные и раскормленные).

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

Нету там ничего уровня языка

Ну на уровне компилятора, ладно. Хотя с учётом единственной реализации компилятора и возможности такого в компиляторе ввиду особенностей языка — разницы особой нет. Факт в том, что borrow checker есть, в плюсах и плюсовых компиляторах нету. Обоснуете его бесполезность? :3

В школу сходи

Не учат такому в школе! В школе турбопаскалю учат.

В сишке так же move по умолчанию и в крестах

Схрена?

typedef struct {
  int korona;
  int skipetr;
} Tzar;

struct Tzar * tzar_treplo()
{
  struct Tzar potuga = { 0, 0 };
  pokormi_tzara(potuga);
  printf("%d %d\n", potuga.korona, potuga.skipetr);
  return potuga;
}

Где тут move по дефолту? Во-первых, кормёжка копирнётся (в лучшем случае компилятор копирование выкинет, но надеяться на это не стоит). Во-вторых, мёртвый указатель. Растовский компилятор подобное говно собрать не даст.

move - это и есть копирование

чоооооооооооооооооооооооо. Вот это новость, выдумывали отдельный от конструктора копирования конструктор переноса — и вдруг оказывается, что он не нужен, потому что Их Величество так говорит!

Ты можешь использовать что-то, но тогда и называй себя тем, кем ты являешься.

А что, использование LLVM в Rust как-то скрывается?

Система типов там говно, вывод типов говно и нихрена там нет.

А в плюсы уже завезли диапазонные типы, например? Которые были в паскакале ещё черти-когда?

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

4.2, в школе такому не учат.

Учат. А если не учат - твоя зада найти ту парту, где тебя научат. Это не моя проблема.

А где у ФП-макак методы и инкапсуляция?

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

ФП-макаки же топять за то, чтобы данные бегали между модулями максимально открыто.

Правда почему-то ни в каких жабаскриптах, тайпскриптах, говнорастах ничего этого нет.

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

Зачем ты мне далее рассказываешь о том, что в ФП этого нет? Об этом я и говорил. Что хоть макакам и говорят о том, что ФП у них где-то есть - его на самом деле нет. И быть не может.

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

Неважно для чего и что нужно. В фп ничего этого нет.

Научи ООП-макаку паттернам — будет везде видеть паттерны, ага.

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

А у настоящих программистов они здравым смыслом называются.

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

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

Опять несёшь херню. Ничего само не рождается. Есть подходы. Не может фп-обезьяна взять и при решении задачи обделаться с иммутабельность взять мутабельность и продолжать называться фп-обезьяной.

Идеологии и как следствие методологи первичны. Сначала человек думать и моделирует, а уже после пытается что-то решить.

Ни хрена. Если бы было так — макаки путали бы функциональщину с императивщиной. Чего не наблюдается.

Что это за нелепая потуга? Каким образом и на основании чего ты это высрал и как из этого следует «если бы»? Побежал объяснятся.

Вот это номер! А что же это тогда? МП (математическое программирование)?

Ничего из того о чём ты блеешь и о чём тебе сообщила пропаганда. Были некие мат-модели и были они раньше инженерных решений только потому, что они не требуют матчасти.

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

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

Я уже объяснял - если твой нативный язык, условно, русский - ты будешь думать им. Если английски, либо какой-то иной - ты будешь думать им.

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

Дак вот, фп-секта пытается внушить сектантам, что ФП существовал. На самом деле нет. Потому как жертва пропаганды «думает»: «ну фп же математика, а математика была первой. Значит и фп был сразу после».

Но нет. ФП был после, но не после теории. Это попытка в рамках уже существующих инженерных решений реализовать теории, которые обделались.

Первые ЯП, вычислительные машины и прочее - никакого отношения к ФП не имели. Все эти понятия - были созданы вне фп. Что-бы тебе понятно было - императивные языки.

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

Перечитайте внимательно, там нет отождествления, а как раз противопоставление.

Есть, я процитировал. Ты кукарекал «там нету ООП - потому что нету жавы» - это явная попытка.

ООП в чистом виде вроде ни в одном языке так и не реализован.

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

Да и бессмысленно это, учитывая опыт борьбы с инкапсуляцией в жабке.

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

Говоря про инкапсуляцию - я говорю про объединение кода и данных с один тот самый объект.

Я тебе даже больше скажу - ворованные замыкания и есть та самая инкапсуляция. Сама программа как таковая - про инкапсуляцию.

Тебе это сложно осознать, потому как это понятие куда более фундаментально и всеобъемлюще. Это вообще база программирования как такого, но не в ФП.

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

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

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

И на уровне компилятора тоже.

Факт в том, что borrow checker есть, в плюсах и плюсовых компиляторах нету. Обоснуете его бесполезность? :3

Никакого факта нет. Ты обделался. Никакого борроу-чекера нет. Тебя поимела пропаганда.

Где тут move по дефолту? Во-первых, кормёжка копирнётся (в лучшем случае компилятор копирование выкинет, но надеяться на это не стоит).

Позорище нелепое. Ладно, мне это надело. Срочно за букварь, клоун.

Я понимаю, что птушное макаке сложно понять move и что это такое. Обезьяна видит move и «думает», что это какое-то не копирование.

Дак вот, я тебе уже сообщал, обезьяна, move - это копирование. Запомни это рази и навсегда и не неси более мне никакую херню.

move как move существует только в рамках raii-семантики. Копирование объекта происходит всегда. И когда говорят move говорят о перемещении ресурса привязанного к объекту, а не самого объекта.

Никаких ресурсов на уровне языка не существует. В общем - за букварь, маня.

Во-вторых, мёртвый указатель.

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

Растовский компилятор подобное говно собрать не даст.

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

чоооооооооооооооооооооооо. Вот это новость, выдумывали отдельный от конструктора копирования конструктор переноса — и вдруг оказывается, что он не нужен, потому что Их Величество так говорит!

Ещё раз, ты бездарный птушный клоун. Что ты такое, что-бы вообще со мною спорить и вообще хоть как-то кукарекать в рамках данной темы? Потолок твоего кукретинга - чистота помытых тобою полов.

А что, использование LLVM в Rust как-то скрывается?

Да. Но дело даже не в этом. Говно с ворованным ллвм наделяется свойствами ллвм говно. Проблема в этом.

А в плюсы уже завезли диапазонные типы, например? Которые были в паскакале ещё черти-когда?

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

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

Система типов в С++ фундаментальна, в ней нет и не может быть подобной примитивной бездарное херни.

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

в россии дефицит разработчиков

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

можно, пока эту парашу не перепишут на java, go или python. на моей работе был проект на perl, его сейчас переписывают, вот перловик которого наняли на его поддержку очень скоро будет искать новую работу. 50-100к строк кода не так сложно с нуля переписать

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

найти ту парту, где тебя научат

Wut? Все парты учат одному и тому же. Вы сами-то в школе были?

существуют потуги эмулировать методы через сахар

Пускай себе существуют. Кто-то и на LabVIEW программировать пытается, хотя он для этого не предназначен.

Правда почему-то ни в каких жабаскриптах, тайпскриптах, говнорастах ничего этого нет.

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

Зачем ты мне далее рассказываешь о том, что в ФП этого нет?

Это Вы сами придумали? Мы рассказывали, о чём вещают ФП-макаки. Научитесь читать.

Неважно для чего и что нужно. В фп ничего этого нет.

А при чём здесь ФП? Речь о модулях. Модули нужны, чтобы решить проблему разбиения крупных проектов, которая решается «сама собой» при использовании ООП. Они не имеют прямого отношения к каким-то парадигмам. Даже в жабке есть некое подобие модулей («пакеты»), ограничивающие область видимости.

макака использует не здравый смысл, а паттерны

Макака просто копирует других макак. Это Вы пытаетесь анализировать поведение макак и видите там свои паттерны.

Кстати, умение копировать поведение других является одним из важнейших признаков высшей нервной деятельности. Задумайтесь над этим.

О каком-то здравом смысле могу говорить я, но не ты и не макаки.

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

Ничего само не рождается. Есть подходы

Не-а. Есть инженерное мышление. Зачем притягивать за уши какой-то паттерн, если и так видно, что в данном случае целесообразно построить архитектуру так-то? Паттерны — это потешные потуги систематизировать простейшие модели взаимосвязей между элементами программы — астрология от мира программирования.

Не может фп-обезьяна взять и при решении задачи обделаться с иммутабельность взять мутабельность и продолжать называться фп-обезьяной

Может, если пацаны не засмеют. А если засмеют, то обезьяна не виновата.

Каким образом и на основании чего ты это высрал

Таким, что в императивщине есть функции и в функциональщине есть функции. В чём разница, если кроме функций ничего не учитывать? Указатель на функцию можно и в сишечке передать. Но даже у тупых ФП-макак как-то не возникает подобной путаницы. Почему же она возникает у Царя?

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

Ну были, и есть. И решают проблему разваливания слепленного макаками говна, за счёт ограничения макак. Ценой производительности, особенно в тупой жабаскриптоте, которая даже в ленивые вычисления может только через лютые костыли. Посему макаки и обосрались. Но ровно до тех пор, пока в каждой бюджетной лопатке не будет хотя бы 128 ГБ рамы* :3 А там уж пипл схавает, в первый раз, что ли. .NET схавли, жабку схавали, питон схавали, и это схавают.

————
 * цифра с потолка, оправдываться за потугу не будем

фп-секта пытается внушить сектантам, что ФП существовал

Если что-то не готово, то его не существует? Охренеть. Как же люди на реакте пишут, когда у него мажорная циферка версии до сих пор не инкрементнулась? Реакта не существует!

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

Их до сих пор реализуют вообще-то :P Математики ещё долго с функци-Анальщиной сношаться будут, проверять новые идеи.

Первые ЯП, вычислительные машины и прочее - никакого отношения к ФП не имели

А как же Lisp-машины?

И кто-то отрицает, что ФП-абстракции не имеют отношения к реализации машин?

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

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

процитировал

Любитель копипастить? Перечитайте ещё раз, внимательно:

Базовые вещи из теоретического ООП в нём есть и так, а именно жабоподобного ждать не стоит

Есть теоретический ООП, описанный Кэем, и кое-как высранный в виде Smalltalk. А есть жабка, из которой он непосредственно передран в C#, PHP и отчасти ES6. В принципе, называть его жабоподобным не совсем корректно, поскольку жаба передрана с плюсов, а плюсы с симулы, которая является первой потугой приварить ООП к императивщине, но в целом суть такова.

Посыл же в том, что жабовская реализация ООП тоже не является полностью православной, посему кудахтать, что в ES6 сахарочек и жаба не слизана полностью вплоть до приватных полей и интерфейсов — малость беспочвенно. А ещё стоит учесть, что изначальный JS-ный ООП на прототипах как раз к Smalltalk и той самой теоретической концепции ближе.

Говоря про инкапсуляцию - я говорю про объединение кода и данных с один тот самый объект

Тогда инкапсуляция есть даже в сишечке, ведь в ней есть объекты компиляции. На хрена было придумывать ООП, спрашивается? :3

Это вообще база программирования как такого

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

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

Коррекция идеи под реальность — это обычное явление. В чём претензия-то? Там подрихтуют, тут подшлифуют — получится конфетка. Вы усматриваете в этом что-то плохое, поскольку понятие не имеете, как это люди могут договариваться? С Вашим характером — неудивительно ;-)

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

Lisp-машины cначала работали под управлением тех лиспов, где не было даже лямбд, а потом на чуть более продвинутых их потомках, которые все равно были слишком сильно завязаны на изменяемость данных и среды, в рамках того лиспа, где не то что алгебраических/абстрактных типов не было, а даже возможностей по описанию хотя бы участков программы в виде сколь-либо вменяемых пайплайнов/композиций. Лиспы в нынешнем-то виде (кложур не лисп!!1) весьма императивны, а тогда, и в 70-е, и в 80-е, всё было ещё печальнее.

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

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

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

Никакого борроу-чекера нет. Тебя поимела пропаганда

Вот это новость, а что же им называют? nop?

перемещении ресурса привязанного к объекту, а не самого объекта

Это уже детали реализации конструктора. Сам объект тоже копировать не стоит, если там дохрена выделенных на стеке полей.

Никаких ресурсов на уровне языка не существует.

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

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

Так он не даст сделать такую дичь, чем и хорош :P

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

Ой, падумаыыыыщь!

@bq:01:04:00:/tmp/dl$ cat a.c
#include <stdio.h>

typedef struct {
  int korona;
  int skipetr;
} Tzar;

void pokormi_tzara(Tzar nom)
{
  printf("Nom! %d\n", nom.korona * nom.skipetr);
}

Tzar * tzar_treplo()
{
  Tzar potuga = { 0, 0 };
  pokormi_tzara(potuga);
  printf("%d %d\n", potuga.korona, potuga.skipetr);
  return &potuga;
}

int main()
{
  Tzar *tt = tzar_treplo();
  printf("%d\n", tt);
  return 0;
}
@bq:01:04:02:/tmp/dl$ gcc a.c -o a
a.c: In function ‘tzar_treplo’:
a.c:18:10: warning: function returns address of local variable [-Wreturn-local-addr]
   18 |   return &potuga;
      |          ^~~~~~~
@bq:01:04:15:/tmp/dl$ ./a
Nom! 0
0 0
0

Что ты такое, что-бы вообще со мною спорить и вообще хоть как-то кукарекать в рамках данной темы?

Борис Годунов!

Говно с ворованным ллвм наделяется свойствами ллвм говно

Ну всё, парсер сломали. Это C на мозг так влияет?

то о чём ты пытаешься кукарекать находиться далеко за границами твоих убогих представление

Чем больше границы представлений — тем больше непредставимого их окружает, увы.

Какие-то говнотипы о которых ты балаболишь - это прерогатива недоязычков птушных

Врёти, ненужно? Ну продолжайте упираться в машинные типы, фигли :P

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

Дело даже не в этом. Если какой-то птушник начинает кукарекать про лисп-машины - он уже по определению бездарная жертва пропаганды. Я даже скажу почему. В реальности никаких лисп-машин не существовало. Существовал ПАК-эмуляторы лиспа. Все эти «лисп»-машины исполняли никакой не лисп. И что очевидно об этом даже в википедии написано.

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

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

Кстати, не забываем почему любая секта имеет в своей базе именно прошлое. Потому как прошлое, в отличии от настоящего, не верифицируемо в принципе.

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

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

Ну и самое важное, после того как ты обделался с move - ты уже определён заранее в питушарню и все твои потуги не имеют смысла. Потому как один раз было доказано то, что ты трепло. Ты никак не объяснился за это.

Ну всё, парсер сломали. Это C на мозг так влияет?

Клоун, а чего же ты съехал с темы про скрывает? Ты зашел на говносайт говнораста и увидел, что там нигде об этом не написано? И решил по тихому убежать перданув в лужу?

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

Давай я тебе помогу. Есть ллвм и есть его свойства. Далее недоязычок берёт ворует ллвм и начинает перечислять свойства недоязычка, но не указывает, что эти свойства llvm"а.

Это прямое воровство. И неважно позволяет, либо нет llvm делать это номинально. Просто в мире опенсорса не работают эти механизмы.

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

Ах да, я ведь не посмотрел на твой ник и потуги. Ты же дошколёнок, который решил покукарекать на темы метапрогра.

И вот ведь чудо. Ситуация с метапрогом аналогичная говнорасту и почему-то хомячьё-адепты говнораста хейтят его за то, за что не хайтят говнораст.

Т.е. метапрог родил свою поделку как нахлабучку поверх готовой системы и далее начинает выдавать свойства этой системы за своейства своей нахлабучки. Хомячьё орёт - вор, да как ты посмел воровать и приписывать себе чужие достижения. Это не ты - это всё «llvm»(как там эта херня называется).

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

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

эмуляторы

Падумаыщь! А нонешни x86-процессоры этот самый x86 микрокодом эмулируют, и что?

Потому как прошлое, в отличии от настоящего, не верифицируемо в принципе.

Настоящего нет, есть только миг между прошлым и будущим :P И прошлое-то как раз куда более верифицируемое, чем будущее.

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

на который компилятор не сыпет ворнингами

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

Вот и побежал

Не-а, Ваша очередь :P

обделался с move

4.2

с темы про скрывает

Опять парсер ломаете?

зашел на говносайт говнораста

Не помним даже, заглядывали ли когда-то к ним на основной сайт. Вот книгу читали (и даже помним, что Вы обозвали её пропагандой :D). И в документацию частенько заглядывали.

А то, что у колхозника плохо с парсером - это банальный факт

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

начинает перечислять свойства недоязычка, но не указывает, что эти свойства llvm"а

Это какие же, например?

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

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

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

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

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

А то говно, которое обгадилось в своих решениях и украло чужое - никого интересовать не должно. Украсть может кто угодно и что угодно.

Мы же хотим получить новые решения. И первое их дать может - вор же не может. Вору нужно откуда-то украсть. И если источник ослабнет или исчезнет - вор тут же пойдёт на помойку.

В конечном итоге вся фп-параша пришла воровать инкапсуляцию, потому как иные подходы сдохли. Это показывает то, что есть первично, а что вторичное бездарное говно.

А при чём здесь ФП? Речь о модулях. Модули нужны, чтобы решить проблему разбиения крупных проектов, которая решается «сама собой» при использовании ООП. Они не имеют прямого отношения к каким-то парадигмам. Даже в жабке есть некое подобие модулей («пакеты»), ограничивающие область видимости.

Модули - такая же инкапсуляция. В фп-говне этого в принципе нет и быть не может. Потому как модуль это уже в некой степени объект - это хранилище для сущностей. ФП такого не предполагает.

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

Если что-то не готово, то его не существует? Охренеть. Как же люди на реакте пишут, когда у него мажорная циферка версии до сих пор не инкрементнулась? Реакта не существует!

Ты совсем поехал, клоун? Какое отношение реакт имеет к ФП? Да никакого.

А как же Lisp-машины?

Выше ответил. Если кратко - в школу сходи.

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

Опен сорс она или нет - это неважно

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

И велосипедов там на самом деле много, так что в долгосрочной перспективе ещё вопрос, что было бы велосипеднее — допиливать MyOpenLab или лепить с нуля целый GUI и транслятор, а вместе с ним и кучу чисто метапроговских (на самом деле украденных из того же LabVIEW) концепций.

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

Падумаыщь! А нонешни x86-процессоры этот самый x86 микрокодом эмулируют, и что?

Ты обделался клоун. x86 эмулирует циск как пример несостоятельной ветки развития. И что самое интересное - ты забрёт в такое говно из которого уже не выберешься.

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

А далее фп-плебеи решили играть в игру «а давайте мы придумаем какую-то декларативность, а то, что она тормозит - да просто реализует в железе».

И если лисп-машины обдристались сразу, то вот с циском прокатило. Там был дядя айбим который это говно решил поднять за счёт вливания не меренного количества бабла.

И после стало очевидно, что концепция фп-говна, как и концепция циска не состоятельна. Нельзя взять говно, реализовать его в железе и решить за счёт этого его проблемы.

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

и что?

То, маня. Что из-за этого х86 говно. И то, маня, что и то и то одно и тоже. В ситуации с лисп-машинами это не работает. Их в принципе не было, а вот х86 железный был.

Настоящего нет, есть только миг между прошлым и будущим :P И прошлое-то как раз куда более верифицируемое, чем будущее.

Настоящее есть. В школу сходи. Настоящее то, что может верифицировать адепт сейчас, напрямую. То, что существует в рамках современной действительности.

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

В контексте вопроса целесообразности нахождения этой штуки на сайте — важно.

Нет, неважно. Т.е. ты признаёшь, что метапрог сделал свой язык и может приписывать себе все заслуги. Допустим, редактор этого говна. И прочее и прочее?

А вся проблема у тебя возникает в том, что он не открытый? Я правильно понимаю?

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

Говноратс-говно так же нигде не работает. Тебя же это не волнует? Оно чудом за счёт ворованного заработало хоть где-то буквально недавно.

Вот когда метапрогу будет 15 лет - тогда приходи кукарекать. А пока - в школу.

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

Инкапсуляция - это часть какой-то определённой методологии

Тогда как она существовала до этой методологии? Ведь в том виде, в каком Вы её описываете, под инкапсуляцию можно подогнать любое разделение кода. Даже юниксовые утилиты — это уже инкапсуляция, куча маленьких с отдельным кодом вместо одной.

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

Вот только программный код их в принципе напрямую не решает, увы. Хоть даже и ООП. До этих маняфантазий ещё далеко.

А то говно, которое обгадилось в своих решениях и украло чужое - никого интересовать не должно. Украсть может кто угодно и что угодно.

Вы опять подменяете понятия. Нет ничего крамольного в том, чтобы позаимствовать чужие идеи и создать из них что-то новое. Даже если при этом не добавлено ничего своего. Ведь даже взять и объединить — это уже додуматься надо!

В фп-говне этого в принципе нет и быть не может.

В идеальном? А где оно существует, в Ваших фантазиях? Равно как и идеальное ООП.

если мы добавим методы напрямую

Вы так говорите, будто ООП позволяет надёргать из класса методы без привязки к данным этого класса, да и к самому классу. Что активно используется в ФП: из модуля просто импортируются чистые функции.

Какое отношение реакт имеет к ФП? Да никакого

А при чём здесь ФП?

в школу сходи

Опять Turbo Pascal учить? Нет, спасибо, да и нафиг он нужен?

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

как пример несостоятельной ветки развития

Чего ж оно, «несостоятельное» такое, живёт и здравствует?

Циск - это и есть по-сути фп

Примите таблетки.

Но всё это работает лишь примитивной херне.

Практика показывает, что на них работает что угодно. Ваша очередь стирать штаны.

Настоящее то, что может верифицировать адепт сейчас, напрямую

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

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

А кто их читает?

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

Некоторые либы тупо несовместимы с новыми версиями компиляторов нет

Некоторые(все) говнолибы не совместимы с новыми версиями говнораста. У тебя это проблем не вызывает. Поэтому в школу, сразу.

и пока их не починят — приходится скипать.

Потуги не работают. Добавить Werror как в говнорасте. Если в говнорасте скипать ты хи не можешь - ты не можешь скипать их и здесь. А то, что у тебя есть такая возможность - ничего не означает.

В школу сходи - там тебя научат базовой логике.

Ну или самостоятельно чинить, ага.

Да, чини. Как в говнорасте.

Это какие же, например?

Все, птушник.

Заходим на говносайт этого говна и читаем:

Performance

Враньё, но в данном случае имеется ввиду «быстрее пхп». Это свойство llvm.

Reliability

Это просто враньё. Ничего этого нет. А то, что есть - это свойства llvm/крестов.

Productivity

Это нелепая враньё. Никаких тулов по этому говну нет. ПМ говна есть в любой скриптухи. Да и он не нунжен. Любой ПМ-говна превращает недоязычок в помойку с лефтпадами.

Command Line

Ворованные свойства llvm.

WebAssembly

Ворованные свойства llvm. В llvm появился wasm-тергет всё бездарное хомячьё начало орать про васм.

Networking

Свойство llvm и ворованного сишного рантайма. Всё это запилено через ffi и unsafe-хаки.

Embedded

Тоже самое - свойство llvm. В llvm появился arm-таргет и сразу пошел вскукарек.

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

А вся проблема у тебя возникает в том, что он не открытый?

У Нас проблемы нет. А вот у @metaprog проблемы будут. Тему из топа уже убрали, вручную. За попытки вылезть из метапрог-загона по голове уже стучали. Дальше может быть хуже, ведь никак объективных причин терпеть это на ЛОРе нет.

Оно чудом за счёт ворованного заработало хоть где-то буквально недавно.

«Недавно» — это когда? Интересная у Вас временная шкала… Существует язык с 2006-го года. По меньшей мере в 2010-м уже поддерживал винду, макось и линукс. К 2011-му переписан «на самом себе».

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

Некоторые(все) говнолибы не совместимы с новыми версиями говнораста. У тебя это проблем не вызывает

До такой степени, что варнингами будут срать, но заведутся? Пруф.

там тебя научат базовой логике

И логике в школе не учат :P

Performance

Reliability

Productivity

Command Line

WebAssembly

Networking

Embedded

Что это за гора баззвордов? Где технические характеристики? Вы всерьёз пытаетесь выдавать лендинг для манагеров и толстосумов за «методички»? Заметьте, это Вы туда пошли, не Мы.

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

Тогда как она существовала до этой методологии? Ведь в том виде, в каком Вы её описываете, под инкапсуляцию можно подогнать любое разделение кода. Даже юниксовые утилиты — это уже инкапсуляция, куча маленьких с отдельным кодом вместо одной.

Эта методология существовала до. Когда её не было - не было и программ.

К тому же, ты написал какую-то херню. Инкапсуляция это объединение кода и данных в одном сущность. В более узком смысле - соединение того, что управляет и того, чем управляют и выделение этого комплекса в отдельную независимую сущность.

Модуль - это инкапсуляция в самом узком смысле, прям как в жаве.

Вот только программный код их в принципе напрямую не решает, увы. Хоть даже и ООП. До этих маняфантазий ещё далеко.

Колхозник, это опять какая-то херня нелепая. Есть производные мира ООП и ФП. Дак вот, ООП - это всё, ФП - ничего. Даже наоборот - ФП это настолько бездарное говно, что пришлось срочно воровать половину ООП что-бы хотя-бы лабы можно было писать.

Вы опять подменяете понятия. Нет ничего крамольного в том, чтобы позаимствовать чужие идеи и создать из них что-то новое. Даже если при этом не добавлено ничего своего. Ведь даже взять и объединить — это уже додуматься надо!

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

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

В идеальном? А где оно существует, в Ваших фантазиях? Равно как и идеальное ООП.

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

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

И всё это прямо противоречит фп-методички. Во всём.

Вы так говорите, будто ООП позволяет надёргать из класса методы без привязки к данным этого класса, да и к самому классу. Что активно используется в ФП: из модуля просто импортируются чистые функции.

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

У тебя есть не-типизированные списки(и то тоже ворованные, на самом деле в базовой методичке есть только скаляры). Вот и юзай это говно и функции.

Переменные - ворованные, типизация - ворованная, агрегаты - ворованные, замыкания - ворованные, наймспейсы/модули и прочая херня - ворованная.

Модуля нету в говнофп - это уже агрегат над функциями, т.е. по-сути объект.

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

К тому же ООП позволяет дергать что угодно.

А при чём здесь ФП?

Ты же кукарекал - у себя спрашивай.

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

Этоине лендинги для толстосумов. Там идея в том, чтобы каждый раз не генерировать страницу по-новой. Перерисовываются только части страницы, данные получаются в виде json, а для смены адреса в адресной строке используется history api. Оно чисто визуально работает быстрее (почти мгновенно), в то время как страницы того же гитхаба по паре секунд грузятся. Как тут верно подметили религию какую-то придумывают только реактивные петухи на самокатах

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

«Недавно» — это когда? Интересная у Вас временная шкала… Существует язык с 2006-го года. По меньшей мере в 2010-м уже поддерживал винду, макось и линукс. К 2011-му переписан «на самом себе».

Всё, птушная обезьяна сама себя уничтожила. Боже, какая же ты тупая.

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

К 2011-му переписан «на самом себе».

Подожди, но ведь это говно на 99% состоит из ворованного llvm и прочего сишного рантайма? Каким образом оно может быть переписано само на себя.

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

Ещё раз. llvm часть говнораста, плебей сообщая, что этого никто не скрывает. Далее клоун кукарекает, что переписан «на самом себе», а значит переписаны все составные части. В том числе и llvm. А значит плебей сообщил, что llvm и прочий ворованный рантайм написано на говнорасте, что является враньём.

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

Чего ж оно, «несостоятельное» такое, живёт и здравствует?

Обезьяна блеет «x86 эмулируют» - ей сообщаю «оно создана для впиливание в железо, а после эмулируется» - причина несостоятельности названа.

Т.е. х86 как архитектуру никто не использует. Это просто рудимент для обратной совместимости с маздаем и прочим дерьмом.

После этого бездарное отребье блеет «живёт». В какой вселенной может жить то, что эмулируется?

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

Есть теоретический ООП, описанный Кэем, и кое-как высранный в виде Smalltalk.

Нет, путушная обезьяна. ООП создан крестами.

А есть жабка, из которой он непосредственно передран в C#, PHP и отчасти ES6.

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

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

Обезьяна, никакая жава к ООП вообще не имеет отношения. Жава ассоциируется с ООП лишь тем, что номинально считается, что там сильная ООП-школа. Как раз таки в контексте методик, т.е. паттерном.

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

ООП уже давно значит то, что породил С++. С++ породил и ООП и обобщённое программирование. И как следствие всю типизацию, модульность и прочее.

Очевидно, что что-то было до С++, но оно так же существовало в рамках одной методологии, даже тот самый кей и его отрыжка.

посему кудахтать, что в ES6 сахарочек и жаба не слизана полностью вплоть до приватных полей и интерфейсов — малость беспочвенно. А ещё стоит учесть, что изначальный JS-ный ООП на прототипах как раз к Smalltalk и той самой теоретической концепции ближе.

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

Всем насрать. К тому же, как я уже говорил, это теоретическое ООП существует в рамках той же методологии. Они не противоречат друг другу.

А вот js и ФП противоречат. Даже ФП и говнаскель противоречат друг другу.

Тогда инкапсуляция есть даже в сишечке, ведь в ней есть объекты компиляции. На хрена было придумывать ООП, спрашивается? :3

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

Это та база на которой построен прикладной мир, в том числе и сишка.

А новое - это развитии тех же идей. В вот новое ФП - это отрицание старых идей и приписывание себе чужих ворованных.

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

Эта методология существовала до. Когда её не было - не было и программ.

Шок, ООП придуман Адой Лавлейс?!

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

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

Есть производные мира ООП и ФП

Ану не виляйте! То говорили о прикладном мире, то уже вдруг на парадигмы перескочили.

должен был быть тот, у кого ты взял

Так ему при этом совершенно не обязательно быть живым. Идея может существовать без породившего её человека. Даже в мире опенсорса полно примеров подхвата мёртвого проекта другими людьми. Мы сейчас вот прямо с такого пишем (LuaKit).

кое как собранное из ворованных кусков ООП и прочего

А ООП собрано из ворованных кусков императивщины, и? Вы опять даже не пытаетесь пытать, что Вам пытаются донести. Нет ничего крамольного, чтобы что-то «своровать» и сделать на его основе что-то новое.

никаких чистых функций нет - ты обделался

Ну это уже переходит все границы… Вы и побочные эффекты будете отрицать как явление? И проистекающие из-за них проблемы при тестировании и отлове багов?

Ну дак и дёргай отдельные функции

Так методы тогда здесь при чём?

они не протвиоречат базовой методички

Вы опять разговариваете со своей методичкой? Женитесь уже на ней, что ли ;-)

Ты же кукарекал

Мы кукарекали об абстрактных вещах, которые пока не готовы, на основе чего Вы отрицаете их существование. Опять читать не умеете? — марш букварь изучать!

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

К чему это вообще… Ладно, ответим так же отстранённо: History API — говно. Хотя бы потому, что если вбить ссылку непосредственно в адресную строку — SPA на это никак не отреагирует и перезагрузится заново. В то время как если бы в ссылке был якорь — браузер бы перезагрузки избежал.

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

обезьяна кукарекает

Ничёси мутант!

никакими чужими свойствами бездарное говно себя не наделяет

Между какими строками Вы это увидели?

Каким образом оно может быть переписано само на себя

А gcc давно самодостаточен?

@bq:02:42:01:/tmp/dl$ apt show gcc-9|&rg Depends
Depends: cpp-9 (= 9.3.0-10), gcc-9-base (= 9.3.0-10), libcc1-0 (>= 9.3.0-10), binutils (>= 2.34), libgcc-9-dev (= 9.3.0-10), libc6 (>= 2.14), libgcc-s1 (>= 3.0), libgmp10 (>= 2:5.0.1~), libisl22 (>= 0.15), libmpc3, libmpfr6 (>= 3.1.3), libstdc++6 (>= 5), zlib1g (>= 1:1.1.4)

А впрочем, какой gcc, у C ведь даже нету единого референсного компилятора, на который остальные должны равняться. Равно как и плюсов. А у Rust есть. Ну и как после этого сравнивать Rust со всяким убожеством?

llvm часть говнораста

Часть — это когда кроме Rust он ни в чём больше не используется. В данном случае же это зависимость. Чувствуете разницу между 1–1 и 1–M? Почему вообще надо объяснять Царю такие элементарные вещи?

значит переписаны все составные части. В том числе и llvm

А может, и ОС, и микрокод процессоров? Чего ещё нафантазируете?

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

ну ты привел одно из преимуществ хешей, то что страница не перегрузится, но так ее поисковики не проиндексируют, а bing и google прекрасно spa индексируют, если ответ от api приходит менее чем за 300мс

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