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)

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

Это всё, что ты смог ответить? Сильно. Но в целом уровень аргументации достойный.

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

у тебя везде макаки.

Не везде, но в целом да. Макак много - это их основное свойство. Чини методичку.

тру-почаны только в блокноте на ASS-емблере пишут

Так же - чини методичку. Именно ты в блокноте пишешь, ведь иначе ты бы никогда не взял vue/js.

Ты посмотри на свои ответы - это же потуги детсадовские. Ты множество раз сел в лужу, но так ничего и не ответил. Свои вскукареки ты так же никак не аргументировал.

Ну и что ты показал? Лишь уровень адептов vue и хейтеров реакта.

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

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

сторы, редаксы и прочий бездарный мусор

Столько же проблем с передачей данных между компонентами

Хихикнул.

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

но так как им лень учить JavaScript, то для них изобрели Сишарп в браузере

Не, ты реально поехавший. Как можно настолько эпично обгадиться? Сообщаю новость. TS многие хейтят за то, что это не язык и ничего нового в js не добавляет и никак его не расширяет. Это же написано и в их манифесте.

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

Я даже вспомнить уникальные фишки ts не могу. Объявление полей как параметры конструктора, неймспейсы(и то спорно). Ну приват/паблик хинты.

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

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

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

А так прибежал, херню вбросил. Авось кто-то подумает, что за нею что-то стоит.

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

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

П.С. я не любитель редакса

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

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

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

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

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

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

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

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

Но о Redux знают все, так проще обьяснять о чем речь в Elm. Да, изобрели вроде там

vertexua ★★★★★
()

React + Clojurescript

(ns my.awesome.app
  (:require [reagent.core :as r]
            [reagent.dom :as rdom]))


;; components

(defn title [message]
  "Just a title, nothing more."
  [:h1 message])


;; views

(defn app
  "App made out of pure awesomeness."
  []
  (let [counter (r/atom 0)]
    [title "Awesomeness level indicator"]
    [:button {:on-click #(swap counter inc)}
     "Level:" @counter]))


;; get mojo working

(defn ^:export run []
  (rdom/render [app] (js/document.getElementById "app")))
  • Достаточно немногословно
  • Вся благодать нормального языка
  • Никакой разметки в коде и наоборот. It’s all data!
  • Говорят, что часто быстрее голого реакта
  • REPL

Соглашайся.

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

я хейчу ts за то, что он не похож на javascript, и создан человеком, который создал другую богомерзкую ересь - delphi

tz4678 ★★
() автор топика

Vue и Svelt - для людей. Реакты с их стейт менеджментом и Ангуляры с RX - это неудобное монструозное говнецо с аппликухами под 2 Мб. Preact - ещё куда не шло, но тоже в топку по большому счёту

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

В очередной раз можно оценить уровень аргументации ЦА vue/хтмл"а. Обгадился 10 раз и продолжает нести рандомную херню.

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

я хейчу ts за то, что он не похож на javascript У тебя методичка потекла. Он и есть js 1в1, только с аннотациями через две точки.

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

И ты настолько поехавший, что даже не осознаёшь, что ты сядешь в лужу не только на ts, но и на js. Потому как это именно что js. Просто не 95 года разве что.

и создан человеком

Запомни раз и навсегда, не существует такого «создан человеком». Особенно данным. Данная бездарность - просто говорящая голова, не более.

который создал другую богомерзкую ересь - delphi

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

Причина тому проста - недоязычок должен быть максимально простым(что-бы маздайская школота его могла реализовать) + должен быть совместимым с базовым синтаксисом. В основном тут второе.

Добавить в жабаскрипт сишный стиль аннотаций сложность(даже практически невозможно), да и реализовать его куда сложнее.

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

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

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

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

Чем он не похож?

Либо он совсем поехавший, либо он просто перепутал. Судя по всему моё предположение выше верно. C js он знаком только по методичке 95 года.

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

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

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

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

тож самое про классы. приватные свойства можно объявлять с помощью #varname = 42 в теле класса, можно использовать Symbol и т.д.. проблема скрипта для тупых, что он альтернативный синтаксис имеет для вещей, которые давно реализованы. Да и возникает вопрос нужны ли они, так как Python обходится без инкапсуляции, в нем как и в php есть type хинты, которые никак не проверяются, тупо заглушки для IDE. вся твоя аргументация выглядит как кококо typescript лудший, мне это сказал 23-летний синьор на самокате

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

Погуглил, либо поехавший.

наличием интерфейсов

Никакого отношения к языку не имеет. К тому же должно быть везде.

новых типов данных

Этого вообще существовать не может в принципе.

модификаторов доступа

Это просто какая-то шиза.

е*оты в виде дженериков и тд.

Уровень аргументации.

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

Далее он начал перечислять базовые свойства типизации. Всё это есть везде.

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

Дак так и пиши - не осилил типизацию. Зачем придумываешь оправдания? Правда никому ваятели не могущие в типизацию ненужны, но ты всегда можешь надеяться на чудо.

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

наличием интерфейсов
е*оты в виде дженериков

Капец! Какому вообще придурку пришло в голову, что в типизированном варианте джаваскрипта может быть полиморфизм?

модификаторов доступа

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

новых типов данных

4.2

но по мне лучше выучить таки js

И уже после этого писать в этот раздел. Кстати, если ты вдруг забыл, что писал в своём же оппосте:

Сейчас примерно половина вакансий с React.

Вот ты ориентируешься на вакансии, среди которых знание TypeScript последние года два как минимум становится всё более и более частым явлением; вопросы по TypeScript задают на любом собеседовании на позицию старше выпускника-макаки, и вроде, тебя это должно заставить хоть о чём-то задуматься, но:

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

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

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

приватные свойства можно объявлять с помощью #varname = 42 в теле класса

4.2
Этого нет в стандарте, это вообще stage3 proposal, и без Babel у тебя такие фокусы за пределами Chromium закончатся SyntaxError: private fields are not currently supported

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

Маня, ты будешь мне рассказывать про осилил? Ты же лопнешь с натуги. Я по определению осилил. Это уже было мною доказано тысячи раз. А вот ты мало того, что ничего не доказал, так и прямо писал «Буду учить js» - если знаешь - что ты там собрался учить?

что он альтернативный синтаксис имеет для вещей

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

#-синтаксис существует для рантайм-приватных полей. Как и symbol. И то и то умеет ts.

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

То, что ты там себе нафантазировал - это лишь прод твоих нелепых фантазий. Ты нихрена не знаешь и нихрена не понимаешь.

вся твоя аргументация выглядит как кококо typescript лудший, мне это сказал 23-летний синьор на самокате

Я не понимаю, маня. Ты совсем какой-то отбитый. Ты кукарекал про ts, а теперь ты начинаешь кукарекать про типизацию?

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

Чётко решил в своих жалких потугах - о чём ты пытаешься балаболил. О типизации, либо о TS. Судя по всему с ts ты уже обгадился.

Вот и пиши «я мамкин гений, который считает, что типизация и статические проверки ненужны». Зачем все эти мазы?

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

в ваниле есть и замыкания и сеттеры с геттерами. вакансии с typescript… ну я могу на нем писать, но при прочих равных, он мне в куй не упал. да и такие вакансии - это фулл стак с шарпом либо джавой. т.е., не для меня. я не вижу мест в том же vue приложении, где typescript чем-то помог и что-то облегчил. в js не принято в функции рередавать инсоанс какого-то класса как в java и т.д. вам, наверное, тсарям и принцесскам следует сначала разобраться так сказать в вопросе

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

В общем, я сразу задетектил твой уровень. не неси херню и не позорься. Мне лень тебе объяснять разницу между выводом типа и динамикой. Да и сомневаюсь, что ты осилишь. Сходи в школу.

Я просто открою для тебя тайну. auto никакого отношения к динамике не имеет. Живи с этим.

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

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

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

в ваниле есть и замыкания и сеттеры с геттерами

Да что ты говоришь!

да и такие вакансии - это

…фронтенд-разработка, внезапно. И с каждым днём всё больше работодателей требуют TypeScript именно для фронтенд-разработчиков. Фуллстэк может накалякать вообще всё, что ему вздумается — на царское это дело, с фронтендом заморачиваться. Жалко, что за пределами ООО «ВЕКТОР» не так.

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

На интервью такое цирковое представление не забудь показать.

я не вижу мест в том же vue приложении, где typescript чем-то помог и что-то облегчил

А почему ты, ничего не понимающий в Javascript, внезапно должен был там что-либо увидеть?

Ей-богу, не стал бы отвечать на такой тупняк, если бы аудитория лора не читала бы его на серьёзных щщях, разнося 4.2 далеко за пределы ресурса.

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

О боже, маня. Я увидел это случайно и решил написать в надежде, что тебя можно спасти.

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

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

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

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

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

Но нет, ты хочешь жрать говно и сидеть в говне. И оправдываться.

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

однако, сколько было восторга, когда в C++ появился auto.

Ох, лолушко! Пациент не понимает разницу между статической и динамической типизацией, но что-то нам тут вещает...

К твоему сведению: auto в C++ (и вообще возможность не указывать тип при декларации) не имеет никакого отношения к динамической типизации.

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

Ну вот нафига ты всё испортил! Уверенно шли к тому, чтобы в треде прозвучали слова о том, что хаскель динамически типизирован. Стыд и срам, ей богу.

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

Ну вот нафига ты всё испортил!

Каюсь, грешен! Не выдержал. :)

Весь тред эпичен, но на этом месте у меня случилась истерика.

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

Haskell для тех кому не хватило духу признать свою гомосексуальность… Ладно, он для матан-задротов

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

что хаскель динамически типизирован Дак так оно и есть.

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

Сиди пиши на своем TypeScript со своими придурками на самокатах. Тебе я че запрещаю? Я просто не понимаю проблем ваших: как вообще может в функцию, которая должна принимать число попасть строка, например, со словлом куй. Или как можно не понять, что конструктор класса Point, принимает два числа? Может вы там код пишете так, что его разобрать невозможно, а потом появляются вакансии с требованиям разбираться в чужом коде. Есть отдельная категория дебилов, которые не пишут комментарии, епта, как в дельфях привыкли наз-ывать переменные (q, p, q, t) так и продолжают. Приведи пример. И почему Typescript, а не Flow, когда последний дает тебе ту самую статическую типизацию, но при этом не добавляет новый синтаксис?

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

Нормальный type checker решил бы много проблем, и не надо TS.

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

Я типо как бисексуал (full stack). Просто так исторически сложилось.

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

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

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

И вот ts пошел по пути фундаментальному, а вот делфятинка и паскаль нет. Разница тут следующая. Если ты добавил фундаментальную фишку - пацаны сами допишут что нужно. А вот магию ты обязан добавлять на каждый случай сам, а делать этого никто не сможет.

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

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

ТС каким бы говном ни был - можно прикручивать трансформеры, плагины, он сам по себе либа для жабаскрипта. А для flow ничего этого нет.

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

Но мне он нравится и идеальным он был даже, когда наследовать приходилось через прототипы. Не было встроенных Map, Set, не было генераторов и т.д. Да они в нем как бы и не особо нужны. Любое приложение на JS - это валидация и обработка данных формы (которые всегда строки), отправка данных и получение ответа от сервера. На сервере типизация то бывает полезной, так как вариант Json Schema можно использовать, всячески извращаться с Marshmallow, pydantic и т.д., можно вообще на pypy либо Cython писать, для Node.js тот же TypeScript использовать, но на фронте проблемы как таковой нет, по мне - она надуманна

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

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

Это вранье, тайпскрипт появился раньше чем #private в js, Symbol вообще про другое

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

Или как можно не понять, что конструктор класса Point, принимает два числа?

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

К тому же, пример с числом не является показательным. В реальности в 95% случаев типами являются как минимум агрегаты. И удачи узнать что там и куда пихать.

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

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

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

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

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

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

Ещё раз, осознай что типизация - это прежде всего про вывод типов и про трансформации типов. И ts про это.

Я хочу писать:

  const a = {c: 1, d: 2};
  const b = {e: 3, f: 4};
  const ab = {...a, ...b};
  const {g} = ab;

И не думать потом о том, что что-то где-то не написалось, либо поменялось, либо ошиблось.

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

function f(x?: number) {
  assert(x);
  const y = x + 10;
}

Т.е. если я пишу x - я знаю, что этот аргумент будет передан всегда. Если я пишу x? - я знаю, что его может не быть. Я написал этот один раз.

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

епта, как в дельфях привыкли наз-ывать переменные (q, p, q, t) так и продолжают.

У тебя течёт методичку. Однобуквенные переменные это не свойство паскаля - это свойство анскилла. Хотя анскилл свойство паскаля, но всё же. Связь не прямая.

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

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

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

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

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

лучше выучить таки js, а не прожолжать обмазываться всякими кложурами

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

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

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

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

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

о мне он нравится и идеальным он был даже, когда наследовать приходилось через прототипы. Не было встроенных Map, Set, не было генераторов и т.д. Да они в нем как бы и не особо нужны. Любое приложение на JS - это валидация и обработка данных формы (которые всегда строки), отправка данных и получение ответа от сервера. На сервере типизация то бывает полезной, так как вариант Json Schema можно использовать, всячески извращаться с Marshmallow, pydantic и т.д., можно вообще на pypy либо Cython писать, для Node.js тот же TypeScript использовать, но на фронте проблемы как таковой нет, по мне - она надуманна

Блин, братан. Ну с этого нужно было начинать. Если ТВОЙ уровень это (цитирую тебя еще раз)

любое приложение на JS - это валидация и обработка данных формы (которые всегда строки), отправка данных и получение ответа от сервера

То ты прав, TS ТЕБЕ не нужен, ES6 тебе не нужен. Предположу что и npm не нужен, и реакт не нужен. Тут хватит джуна со знанием jQuery.

Зачем ты вообще вмешивался в этот разговор где речь идет о фреймворках для SPA и прочих сложных и интересных вещах????????

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

Именно при передаче данных и нужна валидация. Иди погугли про gql и прочие костыли, зачем они нужны. Нужна валидация, нужны контракты. Без этого всё разваливается.

Про то, что какие-то формы - твои представления устарели лет на 10. Никакого сервера уже давно нет. Сервер - это признак неосиляторства, признак бездарности тормозов.

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

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

Да, в ts с типизацией всё плохо - это скриптуха. Это не С++, где ты можешь осознать всю силу типизации. Ты там не можешь строить логику на типизации. Это динамический язык по природе.

И тебе правильно кажется, что мусор с аннотациями - мусор. Но то, что тебе нужно - это не динамика. Ты обманулся. Просто ты не открыл для себя то, что всё может быть точно так же, только ещё статически, надёжно и удобно.

Ты не открыл для себя кодогенерацию на базе типов. Не открыл какого-нибудь di и декораторов/аннотаций(не те которые типовые). Типы тебя очень много дают. И чем сильнее твой язык - тем больше.

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

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

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

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

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

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

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

В общем, попытайся написать петню. Столкнись с проблемами - пойми зачем. Просто пишешь кусок и спрашиваешь пацанов «а как можно лучше?». Даже не спрашивая рано или поздно ты сам столкнёшься с проблемами и будешь искать решение.

Можешь даже мне в телегу написать - я часто отвечаю по возможности.

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

Можешь даже мне в телегу написать - я часто отвечаю по возможности.

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

По этому вопрос, кто ты?

abs ★★★
()
Последнее исправление: abs (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.