Форум программистов, компьютерный форум, киберфорум
Наши страницы
Теория и практика программирования
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
ИсмаилПркопенко
Заблокирован
#1

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Я думаю, что представление программы в виде "чисто PLAIN-текст и больше ничего кроме текста" скоро уйдет
, так как оно уже тормозит прогресс: сложные задачи решать очень сложно с таким преставлением.Потому что оно не очень наглядно и удобно. А ведь сложность задач постоянно растет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2016, 21:20
Ответы с готовыми решениями:

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

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

Как можно упростить код?
Задание такое: Решение следующее: public static int maxLandSize(double...

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

Как можно упростить программу ?
Можно ли реализовать данную задачу проще ? у меня получилось сделать только...

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

Добавлено через 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
Igor3D
1227 / 594 / 74
Регистрация: 01.10.2012
Сообщений: 2,844
22.09.2016, 07:57 #63
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Сразу код стал наглядней и проще.
Не так ли?
Нет, не так. Простите на грубом слове, но это называется "задрочили"

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

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

Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Вы мне напомнили ослика из мультика. Про ослика, который хотел стать бабочкой
Вы мне тоже много кого напомнили. К счастью, Ваш случай довольно редкий
0
Shamil1
Модератор
2081 / 1387 / 313
Регистрация: 26.03.2015
Сообщений: 5,072
22.09.2016, 16:05 #66
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Сразу код стал наглядней и проще.
Не так ли?
Нет.

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

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

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

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

Добавлено через 3 минуты
Цитата Сообщение от Igor3D Посмотреть сообщение
Есть масса случаев где "длиннее = лучше", это один из них
Вам конечно же не составит труда упомянуть хотя бы один, раз их "масса"?
Исключим сразу "случай" интимных отношений с женщиной.
Другие какие есть случаи когда "чем длинней - тем лучше"?
0
Shamil1
Модератор
2081 / 1387 / 313
Регистрация: 26.03.2015
Сообщений: 5,072
22.09.2016, 16:32 #68
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Shamil1, А как бы Вы упростили такой код?
Этот код предназначен для того, чтобы сказать компилятору, что где-то есть код данных функций.
Вместо этого можно было бы написать команду "использовать функции из такого-то файла".
0
ИсмаилПркопенко
Заблокирован
22.09.2016, 16:57  [ТС] #69
Цитата Сообщение от Shamil1 Посмотреть сообщение
Вместо этого можно было бы написать команду "использовать функции из такого-то файла".
А если определения находятся в этом же файле только ниже?
0
Shamil1
Модератор
2081 / 1387 / 313
Регистрация: 26.03.2015
Сообщений: 5,072
22.09.2016, 17:50 #70
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
А если определения находятся в этом же файле только ниже?
Тогда команда вообще не нужна. Компилятор сам поищет и найдёт.
0
Igor3D
1227 / 594 / 74
Регистрация: 01.10.2012
Сообщений: 2,844
22.09.2016, 17:53 #71
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Igor3D, Shamil1, А как бы Вы упростили такой код?
Предложите свой синтаксис
Если человек пытается разрабатывать синтаксис языка (наверное нового), то ума ему явно уже не вставить Поэтому не хочу я с Вами что-то обсуждать - от таких надо держаться подальше
0
ИсмаилПркопенко
Заблокирован
22.09.2016, 18:13  [ТС] #72
Цитата Сообщение от Igor3D Посмотреть сообщение
Если человек пытается разрабатывать синтаксис языка (наверное нового), то ума ему явно уже не вставить Поэтому не хочу я с Вами что-то обсуждать - от таких надо держаться подальше
Это Вы мне так нахамили сейчас?
Вы даже это не способны хорошо сделать.
Чего уж говорить тогда о программировании.
Правда. Держитесь подальше от этой темы.
Все равно, судя по Вашим выпадам, ничего путного Вы не скажете.
Досвиданья

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

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

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

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

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

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

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

Так что...
0
Fulcrum_013
Заблокирован
28.09.2016, 22:21 #75
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
Куча длинных повторющихся цепочек символов делают код вырвиглазным и нечитаемым.
В данном случае надежность обеспеченна другим способом. Это машинно-генерированный код.

Добавлено через 3 минуты
Цитата Сообщение от Shamil1 Посмотреть сообщение
Проще было бы вообще этот код не писать (пусть его компилятор сам добавит). Но тогда это будет не С++.
Указывть тип возвращаемого функцией значения при статической типизации все равно придется, так же как и тип аргументов.
0
Shamil1
Модератор
2081 / 1387 / 313
Регистрация: 26.03.2015
Сообщений: 5,072
28.09.2016, 23:12 #76
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Указывть тип возвращаемого функцией значения при статической типизации все равно придется, так же как и тип аргументов.
Во-первых, речь шла объявлении функции. В определении опять придётся указывать тип возвращаемого значения и тип документов.
Во-вторых, есть очень много языков со статической типизацией, в которых не обязательно указывать типы аргументов и возвращающего значения.
0
ИсмаилПркопенко
Заблокирован
29.09.2016, 00:39  [ТС] #77
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
В данном случае надежность обеспеченна другим способом.
А читабельность?
0
Fulcrum_013
Заблокирован
29.09.2016, 01:55 #78
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
А читабельность?
Во первых ну и кто его кроме компилятора читать будет? Редактировать точно никто не будет поскольку редактироваться в случае чего будут генератор или задание генератору.
А во вторых нормальная подсветка синтаксиса в этом плане гораздо лучше увеличивает читабельность, а не затрудняет ее как ваши закорлючки в табличках.
Например вот такая:
Обсудим идеи как можно радикально облегчить и упростить программирование?
0
Fulcrum_013
Заблокирован
29.09.2016, 02:13 #79
Цитата Сообщение от Shamil1 Посмотреть сообщение
В определении опять придётся указывать тип возвращаемого значения и тип документов.
Придется. Потому как функции в С++ имеют возможность перегрузки а соответственно компилятор должен отличать одну от другой.

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

Добавлено через 9 минут
Цитата Сообщение от Igor3D Посмотреть сообщение
Ну да, сидят там дятлы в комитете, ничего не понимают, типа застой.
Ну справедливости ради стоит отметить что коммитет действительно на 2/3 занимается стандартизацией черти чего вместо того что уже 20 лет как назрело.
0
Fulcrum_013
Заблокирован
29.09.2016, 02:22 #80
Цитата Сообщение от ИсмаилПркопенко Посмотреть сообщение
А читабельность?
По моему прекрасно читабельно
Вложение 739619
0
29.09.2016, 02:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2016, 02:22

Как можно упростить условие?
if ((student.exam == 3 && sum == 14) || (student.exam == 4 && sum / 4 == 19) ||...

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

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


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

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru