Вряд ли. Глупые, ленивые животные, которые 8ч в день бездействуют, тратят огромные ресурсы на внутригрупповые социальные взаимодействия, убивают друг друга в войнах и бесцельно воспроизводят себя без какой либо цели ради потребления бесконечного количества ресурсов.
Нет. Есть швабра. Военком решил что тебе пора на нее сесть. Твоя обязанность - телепатически знать, что военком захочет и с вазелином явиться к назначенному сроку. Вазелин не обязателен, но и не запрещен (пока еще).
В случае неявки ты теряешь свои гражданские права (без суда, без законов, просто потому-что).
Запрещаешь сравнивать?) С чего ты решил, что ты можешь мне запрещать сравнивать естественные и искуственные языки? Или лингвистам тоже уже запретил?)) А как же эсперанто, он тоже синтетический. Человеческий ты мой...
Не сложно, если подсветка синтаксиса будет правильно работать, например - подчеркивание при создании. Да и то особо не мешает.
Use strict не пишут (по крайней мере я не слышал), ts при компиляции в js автоматом добавляет. В js тож хз, я не пишу. И это не те языки, которые используют при высоких требованиях к производительности. Как и питон - это максимально простые языки, где удобство кодера выше ценится. Это же динамически типизированные, там и так производительность страдает. Питон так и вовсе интерпретируемый.
Не стоит просит прощения если не виновен) плохая привычка.
Если верить википедии: "TypeScript является обратно совместимым с JavaScript и компилируется в последний."
А это значит, что все, что пишется в JS - так же должно работать и в TS. Так что увы, в рамках TS от let отказа не будет. В TS поддерживается только расширение языка, но не замена его функционала.
Чтож, будем посмотреть и ждать переосмысления в другом языке. Ибо вангую - ключевое слово при объявлении переменной - это атавизм который рано или поздно отвалится.
Наблюдаю за этим языком - он очень сильно становится похож на C# (не удивительно), но шарп поддерживает куда больше фич и более громоздкий.
Создавая переменную без декларации, вроде "х = 42", вы загрязняете глобальную область видимости, т.к. переменная без декларации создается в глобальном объекте window, а не в том контексте, в котором вы ее создаете.
Спасибо) Удивительно, но я об этом раньше либо не слышал либо не придавал значения...
С точки зрения логики было бы хорошо наоборот: создание переменной в глобальной области через ключевое слово, но иначе нарушится обратная совместимость. Чтош.
Вообще то нет, там различия ключей. Возможно, я не совсем понятно выразился.
Зачем писать let, если можно не писать? Имхо дефолтное поведение новой переменной - своя область видимости. Что изменится, если не писать лишнее слово перед использованием переменной?
Мне нравится JS. Пока что лучший язык лично для меня в плане синтаксиса: гибкий и простой. Разве что с Rust может потягаться, но тот слишком низкоуровневый.
Однако я не могу понять, в чем сакральный смысл ключ слов let, var?
Спасибо языку ";" можно не писать, как и var. Но не в TS, вроде как.
Ну я так и понял, что язык расчитан на мягкий переход для плюсников. Это и есть "исторические" ограничения. Т.е. костыли, которые поддерживаются потому-что кто-то не подумав изначально так решил. Типа слова йод, а не ёд, k в слове knife и таких вот конструкций в плюсах.
В этом конкретном примере, нужен ли разделитель, кроме пробела?
Чтобы доказать, что да - нужно доказать, что есть такая последовательность команд, которая будет неоднозначно воспринята. Какие операторы могут идти после [=]? Допустим, только [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, и забить болт на запятые и большие буквы с красной строки, сделав язык удобным для работы. Нужна точка с запятой для устранения неоднозначности? А точно ли она нужна, разве из контекста нельзя определить смысл? Это то, что и должен уметь хороший язык программирования - читать мысли разработчика.
Вряд ли. Глупые, ленивые животные, которые 8ч в день бездействуют, тратят огромные ресурсы на внутригрупповые социальные взаимодействия, убивают друг друга в войнах и бесцельно воспроизводят себя без какой либо цели ради потребления бесконечного количества ресурсов.
Но из них получатся неплохие скрепки.
Демагогия. Кто есть злодей? Зло относительно даже времени оценки, не говоря уже о субъекте оценки.
Согласен, РФ превращается в terra nullius, законы перестают быть законами.
Нет. Есть швабра. Военком решил что тебе пора на нее сесть. Твоя обязанность - телепатически знать, что военком захочет и с вазелином явиться к назначенному сроку. Вазелин не обязателен, но и не запрещен (пока еще).
В случае неявки ты теряешь свои гражданские права (без суда, без законов, просто потому-что).
Как я и писал ранее (потерли коммент за политику):
В РФ введен новый закон о швабрах в сфинктер, граждане обсуждают каким вазелином их лучше смазать.
Даже подумать страшно, что можно быть несогласным, оспаривать и даже отстаивать свои права.
https://blog-ildarin.blogspot.com/2023/02/qw-quick-write-most-succinct.html?m=1
https://www.reddit.com/r/qw_language/comments/114swqo/qw_quick_write_the_most_succinct_programming/
Убрать 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
Спасибо) Удивительно, но я об этом раньше либо не слышал либо не придавал значения...
С точки зрения логики было бы хорошо наоборот: создание переменной в глобальной области через ключевое слово, но иначе нарушится обратная совместимость. Чтош.
Вообще то нет, там различия ключей. Возможно, я не совсем понятно выразился.
Зачем писать let, если можно не писать? Имхо дефолтное поведение новой переменной - своя область видимости. Что изменится, если не писать лишнее слово перед использованием переменной?
Разве что обратная совместимость ломается, хз.
Мне нравится JS. Пока что лучший язык лично для меня в плане синтаксиса: гибкий и простой. Разве что с Rust может потягаться, но тот слишком низкоуровневый.
Однако я не могу понять, в чем сакральный смысл ключ слов let, var?
Спасибо языку ";" можно не писать, как и var. Но не в TS, вроде как.
Удивительно, не зная языка 你无法理解这段文字. Кто бы мог подумать. Нет бы делать языки чтобы @unclegluk сразу его понимал.
Ты случаем не 1Сник?
Ну я так и понял, что язык расчитан на мягкий переход для плюсников. Это и есть "исторические" ограничения. Т.е. костыли, которые поддерживаются потому-что кто-то не подумав изначально так решил. Типа слова йод, а не ёд, k в слове knife и таких вот конструкций в плюсах.
В этом конкретном примере, нужен ли разделитель, кроме пробела?
Чтобы доказать, что да - нужно доказать, что есть такая последовательность команд, которая будет неоднозначно воспринята. Какие операторы могут идти после [=]? Допустим, только [a-z/0-1] затем [+,-,*,/] (или наоборот). А может ли другая команда начинаться с этого символа? Если нет - то и разделитель не нужен. И вот этой работой разработчики языков себе голову особо не забивают, а следовало бы. Красивым язык может быть в своем изяществе.
А читабельность можно отдать на откуп IDE, т.к. в блокноте уже давно никто не работает. А уже она раскрасит и подсветит.
Как-то давно и неправда делал свой язык, и как раз размышлял над лаконичностью. В том числе были несколько идей:
(до Rust) - типы данных в 1 символ, с размерностью числом после. q - бит (question/bool), q64 - 64 бита, 64q - массив из 64. Индексация без []. [.] - любой номер, т.е.
Все кавычки - [], т.к. для них не нужен shift.
Каждый оператор максимум в 1 символ и без нажатия shift.
Как профессиональный программист, который тратит 90% работы на гугление и копипасту со стаковерфлоу, тем не менее скажу пару замечаний насчет синтаксиса как этого, так и других языков.
Много символьные конструкции из символов: это ужасно.
Допустим, [::] - это 3 нажатия: [shift+;+;]. По сравнению с тем же js - где достаточно одной [.] - это в 3 раза больше. -> в c++ - это [-+shift+.]. К-к-к-омбо! Лямбды в js - [_=>], [()=>{}] тоже громоздкие комбо из символов. Мы скованы историческим расположением и символами кнопок на клавиатуре, но можно же сделать проще? В идеале - 1 семантическая единица - 1 нажатие клавиши. В этом смысле мне очень нравится система типов в Rust, где они максимально сокращены до 1 символа.
Доп. символы не имеющие смысловой нагрузки - это кошмарно.
[;] - в конце строки, какой в этом смысл? в этом плане мне нравится гибкость JS - там это не обязательно, хотя и можно использовать тчк-зпт как разделитель. import <std/io> - кавычки это ужас, когда можно и без них вообще. Перекладывать работу с бездушного и всеядного синтаксического анализатора на разработчика - это отвратительно. Мы тут автоматизируем работу человека или чем занимаемся вообще? Если хочется красоты - для этого есть IDE, можно хоть каждую точку в букет из анимированных роз превратить и каждую букву заставить плясать чечетку.
Язык должен быть лаконичным настолько, насколько это вообще возможно. Благо, в разработке синтетических языков мы можем избежать исторических атавизмов вроде ру или eng, и забить болт на запятые и большие буквы с красной строки, сделав язык удобным для работы. Нужна точка с запятой для устранения неоднозначности? А точно ли она нужна, разве из контекста нельзя определить смысл? Это то, что и должен уметь хороший язык программирования - читать мысли разработчика.