|
Труд вопреки насмешкам
|
|||||||||||||||||||||||||||||||||||||||||
Какие из этих возможностей вам хотелось бы видеть в языке?15.03.2020, 17:27. Показов 3237. Ответов 57
Метки нет (Все метки)
Сейчас мое увлечение программированием находится в кризисе. Поток идей всегда накрывал меня с головой, но сейчас он исчерпал себя. На программы для сжатия нечего и надеяться, свой алгоритм асимметричного шифрования я, вероятно, никогда не смогу создать, операционную систему лучше даже и не начинать делать (даже если допустить, что ядро, написанное на ассемблере, я где-то найду готовое, что маловероятно), для игр нужна хорошая графика, а мне ее взять негде, поэтому остается только язык. (Если это не так, прошу написать, какие еще есть варианты с учетом того, что учебник я уже (почти) прочитал.) Так что если я узнаю, какие есть актуальные запросы к языкам программирования, у меня появится возможность продолжать активную жизнь.
По этим пунктам я уже получил ответ, они точно не нужны в языках программирования: 2. Сокращение кода в ущерб удобству написания. 3. "Статические" массивы. 4. Многомерный список как оператор языка. А по этим - еще не получил: 1. Одновременное наличие типов значений, прямых ссылок (ref T) и управляемых ссылок (des T). Сразу напишу, что типы значений и объектно-ориентированное или "процедурное" программирование никак не связаны. 2. Выполнение фрагментов кода, полученных снаружи относительно "основного" кода (например, из текстового поля), с помощью оператора $string (этот оператор есть на клавиатуре!).3. Рекурсивный тип, как в примере:
Мне кажется, эта возможность не помешала бы достаточно часто. 6. Автоматическое отслеживание, удовлетворяет ли переменная заданным условиям, например:
Добавлю: в C# есть "валидация модели", глава о ней находится на почетном последнем месте, но там это просто атрибуты, а в моем языке (пока что название вакантно) - часть самого типа. 7. Возможность параметризации типов и методов не только типами, но и любыми другими значениями, в том числе и с проверкой попадания в диапазон (см. предыдущий пункт), например:
Class Class1 = Class2 - то, что надо в данном случае.Таким способом, параметризующее значение будет, по сути, обычной переменной: обычная переменная может быть как рекурсивного, так и нерекурсивного типа, и параметризующее значение может быть как рекурсивного, так и нерекурсивного типа. 8. Операторы ?=, ?>, ?<, ?>=, ?<= и ?!=, эквивалентные x == y ? x : z, x > y ? x : z и т. д. Это уже много раз было упомянуто, но еще ни одного раза я не получил конкретную информацию - помогло бы это в языке или нет. Мне кажется, помогло бы.9. Отказ от оператора goto с одновременным введением возможности выйти из вложенных циклов на уровень метки (как в Жабе):
Прошу не судить строго за "возврат к нашим баранам". Поймите, у меня, кроме программирования, других возможностей в жизни нет, поэтому делаю, что могу. Вместо того, чтобы судить, прошу написать по каждому пункту: какая возможность улучшит язык программирования, а какая ухудшит.
0
|
|||||||||||||||||||||||||||||||||||||||||
| 15.03.2020, 17:27 | |
|
Ответы с готовыми решениями:
57
Определить, какие из этих имен встречаются во всех классах, какие есть хотя бы в двух классах, и какие - только в одном классе Какая из этих картинок вам больше всего нравится ? |
|
Труд вопреки насмешкам
|
|||||||
| 27.03.2020, 13:32 [ТС] | |||||||
0
|
|||||||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 27.03.2020, 13:34 | ||
|
Тип var (как в сообщении №29 - то ли как variant в древнем бейсике, то ли как dynamic в C#) уходит в прошлое. А ключевое слово var ( как в C#) - остаётся.
0
|
||
|
14808 / 9581 / 1368
Регистрация: 21.01.2016
Сообщений: 36,089
|
||
| 27.03.2020, 13:35 | ||
TextBox1.Text тип string. Вы же осознаёте, что "Etyuhibosecyu" и "22" - одно и тоже, а именно - строка.
0
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 27.03.2020, 13:39 | ||
|
0
|
||
|
Труд вопреки насмешкам
|
|||||||||||
| 27.03.2020, 13:42 [ТС] | |||||||||||
Добавлено через 1 минуту
0
|
|||||||||||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 27.03.2020, 13:42 | ||
|
Тогда другой вопрос: зачем это нужно? В тех редких случаях, когда это может понадобиться, программисты на C# используют Reflection (чтобы создать экземпляр типа по его имени и т.п.).
0
|
||
|
14808 / 9581 / 1368
Регистрация: 21.01.2016
Сообщений: 36,089
|
|||
| 27.03.2020, 13:44 | |||
|
0
|
|||
|
Труд вопреки насмешкам
|
||
| 27.03.2020, 13:44 [ТС] | ||
|
0
|
||
|
14808 / 9581 / 1368
Регистрация: 21.01.2016
Сообщений: 36,089
|
|||
| 27.03.2020, 13:48 | |||
|
Добавлено через 12 секунд
0
|
|||
|
Труд вопреки насмешкам
|
||
| 27.03.2020, 13:48 [ТС] | ||
|
0
|
||
|
14808 / 9581 / 1368
Регистрация: 21.01.2016
Сообщений: 36,089
|
||||
| 27.03.2020, 13:53 | ||||
|
Добавлено через 3 минуты Добавлено через 15 секунд
0
|
||||
|
Труд вопреки насмешкам
|
||||||||
| 27.03.2020, 13:56 [ТС] | ||||||||
0
|
||||||||
|
14808 / 9581 / 1368
Регистрация: 21.01.2016
Сообщений: 36,089
|
||||
| 27.03.2020, 14:14 | ||||
|
Добавлено через 12 минут Вы много приложений видели, где пользователь дописывает код этих приложений во время их работы?
0
|
||||
|
Труд вопреки насмешкам
|
|||||||
| 27.03.2020, 14:25 [ТС] | |||||||
0
|
|||||||
|
14808 / 9581 / 1368
Регистрация: 21.01.2016
Сообщений: 36,089
|
|
| 27.03.2020, 14:37 | |
|
Etyuhibosecyu, так вызову функции из внешней DLL никакие "сторонние" описания не нужны вообще. И никакое придумывание типов из строк тоже.
Сигнатура ожидаемой функции описывается в коде-потребителе, а дальше или приведение указателя к указателю на функцию с нужной сигнатурой (в Си \ С++) или механизм маршалинга (считай, тоже приведение) как в Java \ .NET. В любом случае, никакие "типы" генерировать не надо. Это всё уже есть у вызывающей стороны. Если таковой нет, то функция никому не нужна. Добавлено через 3 минуты Если не верите, то посмотрите примеры использования P\Invoke в C#. Никаких придумываний типов из строк не требуется. Вы уже знаете какую сигнатуру функции ожидаете и описываете её в коде.
0
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
||||
| 28.03.2020, 13:46 | ||||
|
Вот пример : var_1 := var_2 ; и компилятор орет, что у этих переменных разные типы. А это только потому, что оператор присвоение := абстрактный. Он есть присвоение вообще. И что он конкретно делает может быть понятно только из контекста. Из типов переменных. С которыми программист и ошибся. Потому-что чтобы увидеть эту ошибку мало смотреть на эту строчку программы. Надо смотреть в совсем другие места программы где переменные описаны. Их что-то программист в памяти не удержал, запамятовал, в результате смотрел на эту строчку и никакого криминала не видел. Т.е. ошибка была порождена типизацией, сама идея которой приводит к тому, что глядя в упор на строчку не до конца понимаешь, что она делает. Программист смотрел, не до конца понимал, криминала не видел и ошибся. И по сути ошибка была порождена самой идеей типизации. А если бы у var_1 и var_2 не было бы вообще никаких типов, а тип был у оператора := Например var_1 := var_2 ; // пересылка 32 бита 4 байта или var_1 ::= var_2 ; // пересылка 8 бит 1 байт Тут уже программист сразу и однозначно видит что делается в этой строчке. Не заглядывая в другие места текста. Он не может строчку не так понять. И по смыслу переменных, сколько байт они могут занимать, ошибиться тут уже практически нереально. Как можно переменную типа целое 32 бита или ссылку, адрес 32 бита, принять за байт, символ или наоборот ? Нужно держать в памяти лишь размеры переменных, а структуры понимать как их адреса. По сути двух вариантов 1 байт и 4 байта хватит на все про все. Ну еще 2 байта для юникода. Вот что я хочу сказать. Что типизация отлавливает те ошибки, которые косвенно ею и порождены. Это я не агитирую в какую-то веру. Просто хочу показать, что возможен совершенно перпендикулярный подход. Сам обкатываю его в голове. Добавлено через 1 минуту Добавлено через 7 минут На форуме немногочисленных фанатиков Форта сравнивали разные языки и установили железную закономерность - из двух языков программирования на практике более востребован тот, который накладывает на программиста больше кандалов. И причина тут в программистах. Дай волю вольную среднестатистическому программисту и выйдет адский ад. Форт дает волю абсолютную, но комплектом к нему идет книга Броуди Thinking Forth которая описывает должную самодисциплину мышления при писании программ в обстановке воли абсолютной.
0
|
||||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||||
| 29.03.2020, 02:34 | ||||
|
Добавлено через 9 минут
0
|
||||
|
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
|
|
| 01.04.2020, 14:27 | |
|
Etyuhibosecyu, тут у тебя конкурент в изобретении новых инновационных языков программирования появился https://habr.com/ru/post/494548/
0
|
|
| 01.04.2020, 14:27 | |
|
Чего вам не хватает в языке C#?
Какие игры вы бы хотели видеть в переиздании? Какие рэп-исполнители Вам нравятся? Какие кодировки писем Вам известны? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|