Обновить
22
0
Megazorg@ildarin

Программист, системный архитектор

Отправить сообщение

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

Но из них получатся неплохие скрепки.

Демагогия. Кто есть злодей? Зло относительно даже времени оценки, не говоря уже о субъекте оценки.

Согласен, РФ превращается в terra nullius, законы перестают быть законами.

Нет. Есть швабра. Военком решил что тебе пора на нее сесть. Твоя обязанность - телепатически знать, что военком захочет и с вазелином явиться к назначенному сроку. Вазелин не обязателен, но и не запрещен (пока еще).

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

Как я и писал ранее (потерли коммент за политику):

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

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

Убрать var и new как раз таки можно, оставив только название класса. Смысла в этих словах все равно нет.

Тут я развил идею

https://www.codeproject.com/Articles/5353397/QW-Quick-Write-The-Most-Succinct-Programming-Lang

Запрещаешь сравнивать?) С чего ты решил, что ты можешь мне запрещать сравнивать естественные и искуственные языки? Или лингвистам тоже уже запретил?)) А как же эсперанто, он тоже синтетический. Человеческий ты мой...

Не сложно, если подсветка синтаксиса будет правильно работать, например - подчеркивание при создании. Да и то особо не мешает.

Use strict не пишут (по крайней мере я не слышал), ts при компиляции в js автоматом добавляет. В js тож хз, я не пишу. И это не те языки, которые используют при высоких требованиях к производительности. Как и питон - это максимально простые языки, где удобство кодера выше ценится. Это же динамически типизированные, там и так производительность страдает. Питон так и вовсе интерпретируемый.

Не стоит просит прощения если не виновен) плохая привычка.

Если верить википедии: "TypeScript является обратно совместимым с JavaScript и компилируется в последний."

А это значит, что все, что пишется в JS - так же должно работать и в TS. Так что увы, в рамках TS от let отказа не будет. В TS поддерживается только расширение языка, но не замена его функционала.

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

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

В спецификациях TS так же или там строгое ограничение на обязательное использование var let?

Нашел вот такую штуку для глобальных

https://devblogs.microsoft.com/typescript/announcing-typescript-3-4/#type-checking-for-globalthis

Создавая переменную без декларации, вроде "х = 42", вы загрязняете глобальную область видимости, т.к. переменная без декларации создается в глобальном объекте window, а не в том контексте, в котором вы ее создаете.

Спасибо) Удивительно, но я об этом раньше либо не слышал либо не придавал значения...

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

Вообще то нет, там различия ключей. Возможно, я не совсем понятно выразился.

Зачем писать let, если можно не писать? Имхо дефолтное поведение новой переменной - своя область видимости. Что изменится, если не писать лишнее слово перед использованием переменной?

Разве что обратная совместимость ломается, хз.

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

Однако я не могу понять, в чем сакральный смысл ключ слов let, var?

Спасибо языку ";" можно не писать, как и var. Но не в TS, вроде как.

Удивительно, не зная языка 你无法理解这段文字. Кто бы мог подумать. Нет бы делать языки чтобы @unclegluk сразу его понимал.

Ты случаем не 1Сник?

Ну я так и понял, что язык расчитан на мягкий переход для плюсников. Это и есть "исторические" ограничения. Т.е. костыли, которые поддерживаются потому-что кто-то не подумав изначально так решил. Типа слова йод, а не ёд, k в слове knife и таких вот конструкций в плюсах.

32q a a.=1 a3=0 a.=+5-a2 q64 b=255

В этом конкретном примере, нужен ли разделитель, кроме пробела?

Чтобы доказать, что да - нужно доказать, что есть такая последовательность команд, которая будет неоднозначно воспринята. Какие операторы могут идти после [=]? Допустим, только [a-z/0-1] затем [+,-,*,/] (или наоборот). А может ли другая команда начинаться с этого символа? Если нет - то и разделитель не нужен. И вот этой работой разработчики языков себе голову особо не забивают, а следовало бы. Красивым язык может быть в своем изяществе.

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

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

(до Rust) - типы данных в 1 символ, с размерностью числом после. q - бит (question/bool), q64 - 64 бита, 64q - массив из 64. Индексация без []. [.] - любой номер, т.е.

64q a //массив bool 64
a.=1 a3=0 a5.15=0 //все значения 1, кроме как по индексу 3 и от 5 до 15

Все кавычки - [], т.к. для них не нужен shift.

Каждый оператор максимум в 1 символ и без нажатия shift.

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

Много символьные конструкции из символов: это ужасно.

Допустим, [::] - это 3 нажатия: [shift+;+;]. По сравнению с тем же js - где достаточно одной [.] - это в 3 раза больше. -> в c++ - это [-+shift+.]. К-к-к-омбо! Лямбды в js - [_=>], [()=>{}] тоже громоздкие комбо из символов. Мы скованы историческим расположением и символами кнопок на клавиатуре, но можно же сделать проще? В идеале - 1 семантическая единица - 1 нажатие клавиши. В этом смысле мне очень нравится система типов в Rust, где они максимально сокращены до 1 символа.

Доп. символы не имеющие смысловой нагрузки - это кошмарно.

[;] - в конце строки, какой в этом смысл? в этом плане мне нравится гибкость JS - там это не обязательно, хотя и можно использовать тчк-зпт как разделитель. import <std/io> - кавычки это ужас, когда можно и без них вообще. Перекладывать работу с бездушного и всеядного синтаксического анализатора на разработчика - это отвратительно. Мы тут автоматизируем работу человека или чем занимаемся вообще? Если хочется красоты - для этого есть IDE, можно хоть каждую точку в букет из анимированных роз превратить и каждую букву заставить плясать чечетку.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Продуктовый дизайнер
От 1 000 000 000 000 000 000 ₸