Форум программистов, компьютерный форум, киберфорум
Теория программирования
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
Заблокирован

Обсудим идеи как можно радикально облегчить и упростить программирование?

13.09.2016, 21:20. Показов 4285. Ответов 94
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Обсудим идеи как можно облегчить и упростить программирование?
Программирование с автоматически генерируемыми "IF...THEN...ELSE"


Есть ли языки без функций и "IF...THEN...ELSE"?

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

Мне кажется что сложность программирования объясняется выбранной формой представления программы.

Из-за которой большую часть времени программист разбирается в тысячах "IF..THEN..ELSE" и сотнях функций. Даже в программе, написанной на объектно-ориентированном языке

А можно ли придумать какую-то форму представления программы, в которой бы не надо этого было делать?

Ну или хотя бы чтобы часть "IF..THEN..ELSE" и функций среда разработки генерировала сама.

Какие это могут быть формы?

Ну типа тоже текст, но более близкий к языку естественного общения.

Ну или графического представление.

Человек нарисовал световым пером на планшете картинку - а система распознала её и сгенерировала код.

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

Вообщем давайте подумаем вместе: что не дает в разы упростить и ускорить процесс программирования и снизить на порядки число багов?

Я думаю что форма представления программ будет меняться.

Уже давно назрела необходимость.
Потому что сложность программ и решаемых ими задач растет.

Поэтому нужно искать более адекватное, чем PLAIN-текст , представление программы (средства её обзора), её логики, структуры и смысла.

Так и средства разработки и контроля изменений

Просто мы продолжаем даже на высоких уровнях абстракции использовать всю ту же модель: "If...Then...else"

Может пора придумать что-то ещё?

Я думаю, что представление программы в виде "чисто PLAIN-текст и больше ничего кроме текста" скоро уйдет
, так как оно уже тормозит прогресс: сложные задачи решать очень сложно с таким преставлением.Потому что оно не очень наглядно и удобно. А ведь сложность задач постоянно растет.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.09.2016, 21:20
Ответы с готовыми решениями:

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

Как можно упростить?
Как можно упростить #include <stdio.h> #include<stdlib.h> int main () { int a = -1; int i, d; int max = 0; ...

Как можно упростить код?
Задание такое: Решение следующее: public static int maxLandSize(double map) { int result = 0; for (int i = 0; i...

94
Заблокирован
20.09.2016, 22:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Hretgir, Я не очень понял о чем Вы.
Поясните
извините - некогда, некоторые понимают - думаю этого хватит.
0
Заблокирован
21.09.2016, 18:09  [ТС]
А как можно обеспечить надежное программирование?
Какие новые идеи есть по этому вопросу?
Чтобы не было всяких переполнений стека, выходов за границы массива и т.п.
Чтобы при изменении кода отслеживалась синхронность/согласованность изменений и т.п.
Что нового в этой теме?

Добавлено через 2 часа 40 минут
Вот к примеру кусок кода г-на Fulcrum_013
C++ (Qt)
1
2
3
4
5
6
7
8
    inline T3DVector operator*(const T3DVector& r)const;
    inline T3DVector operator&(const T3DVector& r)const;
    inline T3DPoint operator*(const T3DPoint& r)const;
    inline T3DPoint operator&(const T3DPoint& r)const;
    inline T3DUniformMatrix operator*(const T3DUniformMatrix& r)const;
    inline T3DUniformMatrix operator&(const T3DUniformMatrix& r)const;
    inline T3DUniformMatrix& operator*=(const T3DUniformMatrix& r);
    inline T3DUniformMatrix& operator&=(const T3DUniformMatrix& r);
Что сразу бросается в глаза?
Куча длинных повторющихся цепочек символов делают код вырвиглазным и нечитаемым.

А если записать код так:
C++ (Qt)
1
2
3
4
5
6
7
8
[inline T3D]Vector[ operator]*[(const T3D]{1}[& r)]const[;]
              #              &                        #
            Point            *                        #
              #              &                        #
        UniformMatrix        *                        #
              #              &                        #
              #              *=                     #DEL
              #              &=                       #
Сразу код стал наглядней и проще.
Не так ли?

Добавлено через 1 минуту
Т.е. мы в виде таблицы записываем только то, что изменилось по сравнению с пред. строкой
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,159
Записей в блоге: 2
22.09.2016, 07:57
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Сразу код стал наглядней и проще.
Не так ли?
Нет, не так. Простите на грубом слове, но это называется "задрочили"

Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Что сразу бросается в глаза?
Куча длинных повторющихся цепочек символов делают код вырвиглазным и нечитаемым.
Опять "с точностью до наоборот". Есть масса случаев где "длиннее = лучше", это один из них

Приобретите какой-то опыт программирования, пусть небольшой, это не так уж сложно. Тогда Ваши предложения станут практичнее и реалистичнее
0
Заблокирован
22.09.2016, 12:51  [ТС]
Цитата Сообщение от Igor3D Посмотреть сообщение
Нет, не так.
Цитата Сообщение от Igor3D Посмотреть сообщение
Опять "с точностью до наоборот".
Вы мне напомнили ослика из мультика. Про ослика, который хотел стать бабочкой
- Это черное
- Нет. Это белое
- Это белое
- Нет. Это черное
- Ослик. Это твоя бабушка.
- Нет. Это не моя бабушка
Цитата Сообщение от Igor3D Посмотреть сообщение
Приобретите какой-то опыт программирования, пусть небольшой
30 лет - это мало?
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,159
Записей в блоге: 2
22.09.2016, 15:56
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
30 лет - это мало?
Значит для Вас это еще очень мало

Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Вы мне напомнили ослика из мультика. Про ослика, который хотел стать бабочкой
Вы мне тоже много кого напомнили. К счастью, Ваш случай довольно редкий
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,907
22.09.2016, 16:05
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Сразу код стал наглядней и проще.
Не так ли?
Нет.

Проще было бы вообще этот код не писать (пусть его компилятор сам добавит). Но тогда это будет не С++.
0
Заблокирован
22.09.2016, 16:27  [ТС]
Цитата Сообщение от Igor3D Посмотреть сообщение
для Вас это еще очень мало
Кто сказал?
С кем имею честь, так сказать.
Представьтесь

Добавлено через 54 секунды
Цитата Сообщение от Shamil1 Посмотреть сообщение
Проще было бы вообще этот код не писать (пусть его компилятор сам добавит).
Каким образом?
Или это сарказм?

Добавлено через 1 минуту
Igor3D, Shamil1, А как бы Вы упростили такой код?
Предложите свой синтаксис

Добавлено через 54 секунды
Цитата Сообщение от Igor3D Посмотреть сообщение
К счастью, Ваш случай довольно редкий
Бывает и хуже (как у Вас). Но к счастью реже

Добавлено через 3 минуты
Цитата Сообщение от Igor3D Посмотреть сообщение
Есть масса случаев где "длиннее = лучше", это один из них
Вам конечно же не составит труда упомянуть хотя бы один, раз их "масса"?
Исключим сразу "случай" интимных отношений с женщиной.
Другие какие есть случаи когда "чем длинней - тем лучше"?
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,907
22.09.2016, 16:32
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Shamil1, А как бы Вы упростили такой код?
Этот код предназначен для того, чтобы сказать компилятору, что где-то есть код данных функций.
Вместо этого можно было бы написать команду "использовать функции из такого-то файла".
0
Заблокирован
22.09.2016, 16:57  [ТС]
Цитата Сообщение от Shamil1 Посмотреть сообщение
Вместо этого можно было бы написать команду "использовать функции из такого-то файла".
А если определения находятся в этом же файле только ниже?
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,907
22.09.2016, 17:50
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
А если определения находятся в этом же файле только ниже?
Тогда команда вообще не нужна. Компилятор сам поищет и найдёт.
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,159
Записей в блоге: 2
22.09.2016, 17:53
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Igor3D, Shamil1, А как бы Вы упростили такой код?
Предложите свой синтаксис
Если человек пытается разрабатывать синтаксис языка (наверное нового), то ума ему явно уже не вставить Поэтому не хочу я с Вами что-то обсуждать - от таких надо держаться подальше
0
Заблокирован
22.09.2016, 18:13  [ТС]
Цитата Сообщение от Igor3D Посмотреть сообщение
Если человек пытается разрабатывать синтаксис языка (наверное нового), то ума ему явно уже не вставить Поэтому не хочу я с Вами что-то обсуждать - от таких надо держаться подальше
Это Вы мне так нахамили сейчас?
Вы даже это не способны хорошо сделать.
Чего уж говорить тогда о программировании.
Правда. Держитесь подальше от этой темы.
Все равно, судя по Вашим выпадам, ничего путного Вы не скажете.
Досвиданья

Добавлено через 2 минуты
Цитата Сообщение от Igor3D Посмотреть сообщение
человек пытается разрабатывать синтаксис языка
Я просто в рамках темы обсуждаю, размышляю, как облегчить и упростить программирование.

К примеру думаю о том,
как увеличить надежность программ
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
А как можно обеспечить надежное программирование?
Какие новые идеи есть по этому вопросу?
Чтобы не было всяких переполнений стека, выходов за границы массива и т.п.
Чтобы при изменении кода отслеживалась синхронность/согласованность изменений и т.п.
Что нового в этой теме?
0
1977 / 833 / 115
Регистрация: 01.10.2012
Сообщений: 5,159
Записей в блоге: 2
22.09.2016, 18:51
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
А как можно обеспечить надежное программирование?
Какие новые идеи есть по этому вопросу?
Чтобы не было всяких переполнений стека, выходов за границы массива и т.п.
Чтобы при изменении кода отслеживалась синхронность/согласованность изменений и т.п.
Что нового в этой теме?
Исмаил, никто не хочет Вас обидеть, но Вы как дите, ей-богу. Всякий студент (и половина школьников) знает что есть напр язык жаба который разрабатывался именно в сторону надежности/безопасности по сравнению с плюсами. Хорошо это или плохо - тоже жевалось (холиварилось) тыщи раз. Потом появился С# ... В общем человечество пытается.работает в этом напр-и, но проблем хоть отбавляй. Ну а Вы-то куда лезете?
Ну а в мировом масштабе, Василий Иваныч, совладаешь?
Не, Петька, языков не знаю
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Я просто в рамках темы обсуждаю, размышляю, как облегчить и упростить программирование.
Ну да, сидят там дятлы в комитете, ничего не понимают, типа застой. А тут приходит Исмаил со своими свежими идеями - хирак! и все, мир программирования становится совсем другим

А когда Вам мягко дают понять что это чистой воды ребячество - Вы сравниваете собеседника с осликом, а потом еще говорите что это Вам (якобы) нахамили. Не, ну Вас, я пошел
0
Заблокирован
22.09.2016, 19:43  [ТС]
Цитата Сообщение от Igor3D Посмотреть сообщение
Всякий студент (и половина школьников) знает что есть напр язык жаба который разрабатывался именно в сторону надежности/безопасности по сравнению с плюсами.
Знает. И я знаю.
Но Вы читаете меня выборочно?
Я же написал:
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
А как можно обеспечить надежное программирование?
Какие новые идеи есть по этому вопросу?
Чтобы не было всяких переполнений стека, выходов за границы массива и т.п.
Чтобы при изменении кода отслеживалась синхронность/согласованность изменений и т.п.
Что нового в этой теме?
Специально для Вас ключевое слово выделил красным шрифтом.
А Вы увидели слово "массив" и "стек" и решили что этим тема исчерпывается

Добавлено через 2 минуты
И потом, здесь как в школе: "повторение -мать учения". Сначала повторяем, СИСТЕМАТИЗИРУЕМ то, что уже есть, потом говорим о недостатках и наконец как их можно преодолеть.
Поэтому если я или кто-то напишут очевидные для Вас, но не очевидные для кого-то другого вещи - не стоит вести себя агрессивно и обвинять человека в беспросветной глупости. Ибо наверняка есть вещи, в которых Вы "ни ухом ни рылом". Но Вам же не понравится если кто-то Вас назовет идиотом?

Добавлено через 14 секунд
Добрей нужно быть. И терпимей.

Добавлено через 10 минут
Цитата Сообщение от Igor3D Посмотреть сообщение
Всякий студент
И таки да. Я "консерваториев не кончал". Я вообще не программист ни разу. И никогда им не был. Я инженер. А программирование у меня было просто как любимое хобби, как вспомогательный инструмент в работе.
Поэтому прошу простить "мой французский" и аляповатую терминологию, если вдруг она Вам режет слух. Объясняю как могу. На простом деревенском русском языке. Ибо программистским сленгом и жаргоном не владею. И повторюсь "консерваториев не кончал". А все равно хочется влезть "с суконным рылом да в калачный ряд"

Добавлено через 5 минут
И тем не менее, общаться со мной как с ребенком из детсада (манера общения которую Вы выбрали) не стоит.
Я хоть и не вхожу в "касту избранных" (ни разу не являюсь программистом) но в течении 30 лет и умные книжечки почитывал по программированию (штучек за 100 наверное прочитал) и кодец пописывал много и обильно.

Так что...
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
28.09.2016, 22:21
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Куча длинных повторющихся цепочек символов делают код вырвиглазным и нечитаемым.
В данном случае надежность обеспеченна другим способом. Это машинно-генерированный код.

Добавлено через 3 минуты
Цитата Сообщение от Shamil1 Посмотреть сообщение
Проще было бы вообще этот код не писать (пусть его компилятор сам добавит). Но тогда это будет не С++.
Указывть тип возвращаемого функцией значения при статической типизации все равно придется, так же как и тип аргументов.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,907
28.09.2016, 23:12
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Указывть тип возвращаемого функцией значения при статической типизации все равно придется, так же как и тип аргументов.
Во-первых, речь шла объявлении функции. В определении опять придётся указывать тип возвращаемого значения и тип документов.
Во-вторых, есть очень много языков со статической типизацией, в которых не обязательно указывать типы аргументов и возвращающего значения.
0
Заблокирован
29.09.2016, 00:39  [ТС]
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
В данном случае надежность обеспеченна другим способом.
А читабельность?
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
29.09.2016, 01:55
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
А читабельность?
Во первых ну и кто его кроме компилятора читать будет? Редактировать точно никто не будет поскольку редактироваться в случае чего будут генератор или задание генератору.
А во вторых нормальная подсветка синтаксиса в этом плане гораздо лучше увеличивает читабельность, а не затрудняет ее как ваши закорлючки в табличках.
Например вот такая:
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
29.09.2016, 02:13
Цитата Сообщение от Shamil1 Посмотреть сообщение
В определении опять придётся указывать тип возвращаемого значения и тип документов.
Придется. Потому как функции в С++ имеют возможность перегрузки а соответственно компилятор должен отличать одну от другой.

Добавлено через 1 минуту
Цитата Сообщение от Shamil1 Посмотреть сообщение
Во-вторых, есть очень много языков со статической типизацией, в которых не обязательно указывать типы аргументов и возвращающего значения.
Вы не ошиблись? Если типизация статическая значит тип указывается при объявлении переменной (аргумент это тоже переменная).

Добавлено через 9 минут
Цитата Сообщение от Igor3D Посмотреть сообщение
Ну да, сидят там дятлы в комитете, ничего не понимают, типа застой.
Ну справедливости ради стоит отметить что коммитет действительно на 2/3 занимается стандартизацией черти чего вместо того что уже 20 лет как назрело.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
29.09.2016, 02:22
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
А читабельность?
По моему прекрасно читабельно
Вложение 739619
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.09.2016, 02:22

Можно ли как-то упростить код
Добрый день, уважаемые. Пишу небольшую библиотечку. В ней, с помощью Writerа составляю некоторую последовательность. Потом эта...

Как можно это упростить?
public bool yearSort(int year, bool from, bool include) { if (from) { if (include) { ...

Как можно упростить код?
javascript изучаю недавно, написал небольшой код, но я думаю его можно сделать проще на много, но как проще его сделать я не знаю html: ...

Как можно упростить процесс?
Делал тест и столкнулся со следующей проблемой,в тесте имеется около 150 вопросов.Первый вариант был делать делать каждый вопрос на...

как можно упростить код?
как можно упростить код? есть несколко label по ним двигается слово по 1 букве на label и при смене буквы меняется Random цвет(color) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru