![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |||||
Пользователь
Регистрация: 12.07.2017
Сообщений: 18
|
![]() Цитата:
Мой Си - это С++, с чистым Си я никогда не работал. Собственно потому и обращаюсь к специалистам в ассемблерах. Мое знание о Си заканчивается на широко известной информации о типичных его недостатках и просчетах. Но имея понимание того - насколько тонка нить точного проектирования, и как легко в этом процессе что-то упустить или ошибиться, я понимаю, что современные языки, которые стоят на костылях языков предыдущего уровня - физически не могут быть корректными с точки зрения полного цикла проектирования. Так что при всей любви одних программистов и ненависти других к Си, у меня к нему нет никаких посторонних эмоций, я просто понимаю, что это гибрид трактора с запорожцем и он физически не может выполнять те задачи, которые должны быть возложены на гипотетический Идеальный Язык Программирования (сейчас я не говорю об специализированных парадигмах). Технически это возможно и с точки зрения возможностей интеллекта человека, особенно обремененного современными вычислительными мощностями, я считаю, что это не только возможно, но и нужно сделать. О том как - вопрос другой. Когда-то и космические корабли были фантастикой, а теперь они летают и в них трудятся программы и ОС, которые не глючат, хотя работают с куда большим количеством оборудования и в гораздо более сложных условиях, чем писишные оси. И это сделали люди. Так что - да, мы это можем. Более того, уже есть целый ряд решений, наработанных в качестве ответа на вопрос - как это сделать. Осталось совсем немного - собрать все в единую систему. Цитата:
Приведу простой пример. Представим себе вал длинной в пару метров, который сделан из куска металла. Технически он прост и очень надежен - ломаться там нечему. Теперь вместо него поставим карданную цепь из нескольких десятков элементов - она намного менее надежна в длительной перспективе, чем одиночный вал. Однако есть 2 "но". Первое - если карданная цепь будет собрана из некачественных материалов и с большими люфтами, а также просчетами в нагрузочной способности - она действительно будет работать очень плохо и быстро выходить из строя, требуя замены. Но если ее правильно спроектировать, применить качественные материалы, то ее суммарные люфты будут настолько малы, что их роль в работе передаточного узла можно будет не учитывать, а долговечность и надежность работы по суммарной наработке - мало чем будет отличаться от одиночного вала. Второе "но", заключается в том, что если к валу подвести критическую нагрузку - он сломается, а карданная цепь - нет. Так что, когда речь идет о составных структурах, то с теоретическим падением надежности следует учитывать так же и их большую устойчивость к критическим нагрузкам. По сумме выводов можно сказать так, что при правильном проектировании усложнение машины не приводит к значимой потере надежности в нормальных условиях, а в критических условиях более сложная модель может быть и как более живучей, так и наоборот, что, по сути, явных преимуществ или недостатков не дает, до тех пор, пока не будет четко описан род конкретного критического воздействия. Если немного резюмировать, то на самом деле может быть две ситуации - либо устройство можно спроектировать и тогда оно должно работать правильно в независимости от его сложности, но нужно его спроектировать верно, либо же проектирование заданного устройства вообще не возможно выполнить, ибо данная задача является нерешаемой. Что касается ЦПУ + ПО - технически это решаемая задача, нужно ее только правильно поставить и решить. Цитата:
Цитата:
Цитата:
Обратите внимание, что все о чем Вы говорите - это то, почему все настолько плохо и неправильно работает, с акцентом на том - насколько это нормально. Я же говорю о другом - о том, что это нужно исправить на всех уровнях проектирования систем и мы знаем как это сделать... осталось только перейти от слов к делу. Почему "с бухты барахты"? Я ничего такого пока не обнаружил. Стоит простая и четкая задача, все что необходимо для ее выполнения уже имеется. Здесь куда справедливее применить другую пословицу: "глаза боятся, а руки делают". Совершенно некорректное сравнение, ибо "закон як дышло - куды повэрнулы, туды й выйшло". |
|||||
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 12.07.2017
Сообщений: 18
|
![]() |
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 12.07.2017
Сообщений: 18
|
![]()
Про АДу почитал - интересно. В общем и об умной девочке Аде и про язык АДА я и раньше знал, но правда никогда не вдавался в подробности. История, конечно, интересная, но мало к нам применимая, потому как нам нужно либо писать ЯП для широко распространенных писишных архитектур, либо вовсе разрабатывать свою собственную с нуля и синхронно с ней разрабатывать ЯП.
|
![]() |
![]() |
![]() |
#14 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,370
|
![]()
Дело в том, что цпу спроектировать проще и легче, чем законченную логику. Именно поэтому микропроцессоры набралю такую популярность.
А если вы пытаетесь сказать, что мол проектируете наборы инструкций но не разбираетесь в ассемблере, то это не ко мне... Еще бывают и ошибки реализации. Я пас... Последний раз редактировалось waleri; 12.07.2017 в 23:52. |
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 12.07.2017
Сообщений: 18
|
![]()
Пока не совсем понятно - зачем он вообще создавался и что это может нам дать в надежности, если суть языка, насколько я понял, быть промежуточным звеном между мыслью программиста и теми же костылями в виде Шарпа, Джавы и прочих языков?
|
![]() |
![]() |
![]() |
#16 |
Пользователь
Регистрация: 12.07.2017
Сообщений: 18
|
![]() |
![]() |
![]() |
![]() |
#17 |
Пользователь
Регистрация: 12.07.2017
Сообщений: 18
|
![]() |
![]() |
![]() |
![]() |
#18 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 296
|
![]()
То есть Вы хотите создать такой язык, который не будет содержать дырявых абстракций вообще в принципе?
Если так, то это весьма идеалистическая, я бы даже сказал утопичная идея... (ИМХО, разумеется) Даже в такой, казалось бы, точной науке, как математика, есть нюансы. Сначала нас в школе учат тому, что все числа целые и положительные, а потом оказывается, что есть ещё и дробные, а потом что и отрицательные тоже бывают. А ещё говорят, что на ноль делить нельзя и корень из отрицательного числа не извлечь. А дальше изучаем пределы и комплексные числа. Т.е. человек думал так и решения выдавал соответствующие, а оказывается-то, что есть "нюансы". А тут (в программировании) всё ещё хуже. Если в математике перед изучением степени проходят умножение, а ещё раньше - сложение, то тут любая функция высокого уровня (а без них никак) скрывает то, что написано в вызываемой ею низкоуровневой функции (и в документации подробный алгоритм обычно не приводится). А нюансы, о которых не знает тот, кто эту высокоуровневую функцию использует, всегда найдутся. Мне, конечно, тоже не всегда доставляет удовольствие чтение секции "Remarks" в описаниях WinAPI-функций из MSDN, но пока без этого никуда. Более того, иногда нужно ещё и "See also" почитать, да и вообще иметь представление об архитектуре ОС. Можно делать защиту от "дурака" на каждом этапе, конечно, но надо понимать, что один делает что-то из дурости, а другой намеренно. Да и мыслей всех дураков не прочесть, а земля талантами полна... ![]() Конечно, всё возможно в этом мире, но это задача не просто амбициозная, а из разряда "как сделать мир во всём мире" ![]()
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
Последний раз редактировалось 7in; 13.07.2017 в 01:08. |
![]() |
![]() |
![]() |
#19 |
Пользователь
Регистрация: 12.07.2017
Сообщений: 18
|
![]()
Если хорошо подумать над логикой всех процессов, то окажется, что если только мы не ставим задачу создать ИИ, нам совершенно не нужно делать безконечной и безконтрольной вложенности функций. В общем, как я уже сказал, все зависит от того насколько прагматично мы подойдем к глобальному проектированию данной системы с учетом всех возможных способов ее использования, включая человеческий фактор. Не все так плохо, как Вы привыкли видеть в том, что уже существует.
![]() |
![]() |
![]() |
![]() |
#20 | ||||||||
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
![]() Цитата:
Цитата:
Не говоря о том что программы как раз и исправляют недоработки по функционалу железа. Во-вторых уровней проектирования это у желизячников. У программистов, короткие и средние циклы разработке. В которых эти уровне являются составной частью. Цитата:
К сажелению не могу найти книгу, в которой я это читал. Увы, но вы не правы. Вся техника ломается и страдает от ошибок. А если говорить о философских и математических аспектах то и тут есть ошибки. Нет систем сто процентнов правильных. Они лишь правильные в меру ваших знаний. А ведь за кругом ваших знаний располагается бесконечность вашего незнания. Цитата:
Цитата:
Цитата:
Цитата:
Видимо стоит напомнить какая надёжность была у ЦПУ 50-60-тых годов. один отказ на 1000 операций. И раз в 5 минут приходилось менять сгоревшую лампу. И ещё напомню что в те времена устраивали соревнования на скорость и точность с человеком. И люди выигрывали по цене, пока инженеры не указали коэффициент надёжности как одно из основных требований. Вот тогда машины стали несколько надёжнее. Они перестали останавливаться от сгоревшей лампочки, но лампочки продолжали перегорать раз в час. Но всё равно машины требовали периодической остановки так как перегревались. В том-же 8086 есть флаг чётности, который служит для проверки правильности счёта. А вы знаете сколько ошибок находят в серийном процессоре через год после его выхода? И вообще x86 (AMD-64) это очень кривая архитектура. Цитата:
Не то что-бы совсем. Качество повысилось. Но не намного. Статистический анализ. - проверка грамматики - проверка типов - проверка частых ошибок Динамический анализ Проверка технических заданий на полноту и логическую правильность. Автономное тестирование Интеграционное тестирование системное тестирование. Включая появления отдельной специальности тестировщик ПО. Не единственная. Ошибки вычислений делятся на 3 рода.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 13.07.2017 в 12:44. |
||||||||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Можно ли установить пакет 'directx app' от Visual Studio, на win 7. Или это можно сделать только на win 8 win 10. | vik7878 | Софт | 1 | 07.12.2016 10:47 |
можно ли писать php код внутри javascript инструкции if? если можно, то как это сделать? | Ubihinon | JavaScript, Ajax | 2 | 20.02.2012 08:40 |
можно ли писать php код внутри javascript инструкции if? если можно, то как это сделать? | Ubihinon | PHP | 2 | 18.02.2012 17:45 |
Чем отличаеться fasm от fasm editor&? | TotKtoNado | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 07.11.2011 17:00 |
можно ли сделать | wolf777 | PHP | 7 | 06.11.2011 18:25 |