Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Валерий Лаптев

Страницы: [1] 2 3 4
1
Насчет читабельности.
Видимо, читабельность - разная для разного уровня подготовки. То, что новичку читабельно, профи - лишний мусор.
И наоборот. То, что для профи читабельно, для новичка - китайская грамота.
Таким образом, просто нужны РАЗНЫЕ языки.
Насчет минимизации.
ИМХО Си - наилучший пример минимизации.
А С++ - наихудший... :)

2
1. Следование концепции неймановской архитектуре ДО САМОГО КОНЦА в языке программирования неизбежно приводят к динамическому формированию программы и ее выполнению... :) То есть как ни крути, а все равно Лисп получается... :)
Но в императивных языках этого как раз нет. А должно быть, если следовать принципу обобщения... :)
Но реально-то есть либо указатели на функции, либо некая сущность исполняемого типа. Например, процедурные переменные. Но с ОЧЕНЬ ограниченной функциональностью. 
2. В одну строку писать и не надо. Надо писать структурно. Здесь редактор автоматом и обеспечит нужный уровень читабельности.
Если вдумаетесь, то лаконичность написания ( в ущерб читабельности) возникла именно как необходимость набирать ручками каждый символ.
Если редактор берет на себя рутину представления, то и нафига лаконичность?

3
1. ИМХО, главное при разработке языка - чего уже нельзя убрать, а не чего еще можно добавить.
Ненужные обобщения приводят к таким монстрам!
2. Если правильный редактор (семантический), то синтаксис языка - пофигу, ибо ручками реально вводятся только имена и выражения. Проверено в первой версии редактора... :)

4
Общий раздел / Re:Интервью++
« : Апрель 04, 2011, 07:39:36 am »
Цитировать
Универсальный язык ограничен не только необходимостью поддержки различных пользователей, но также и понятности для больших групп пользователей с различными допущениями и уровнем образования (основные принципы должны быть пригодными к использованию школьниками с плохим уровнем обучения).
Вот тут большой вопрос.
ак и самолеты, языки бывают разными. Летчиков учат на учебных спмолетах, хотя принципы полета - одинаковые. И только опытные летчики летают на больших Боингах и/или боевых истребителях.
Поэтому использовать один и тот же "самолет" для школьников и для профи - БОЛЬШАЯ ошибка.

5
Общий раздел / Re:Интервью++
« : Апрель 03, 2011, 06:17:13 am »
Цитировать
ГД Какой должна быть роль интегрированной среды разработки в сфере разработки программного обеспечения? Как среда IDE должна поддерживать язык?

БС Я не являюсь активным пользователем IDE. Я высоко ценю быстро реагирующий редактор IDE, который понимает язык, но для меня также необходима возможность работы без IDE. У меня было бы другое мнение, если бы существовала универсальная доступная удовлетворительная среда IDE — в действительности – часть языка или наоборот
Вот!!! Он опять говорит, что среда должна строится не вокруг текстового редактора, в на основе семантического! Первый раз я у него это прочитал в "Эволюции..."

6
Если "мелкая фиговина, повторяющаяся часто в применении к различным типам", то я за копипаст (плохо, но как промежуточный вариант), а вообще - за решение этого на уровне инструмента разработки, когда это как-то встраивается по образцу, что ли...

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

Такие алгоритмы - они как "элементная база", "спаяли" с его использованием, и менять нет нужды. Это не компонент в смысле компонентного программирования. Это... элемент разработки, что ли...
Очень важное понятие - элемент разработки.
Надо собирать каталог. Вон паттерны собрали - получился хороший инструментальный "чемоданчик". Надо и "элементы разработки" аналогично собрать и проанализировать. Тонгда станет понятно, где шаблон полезен, а где можно обойтись.

7
ИМХО шаблоны - только на уровне модулей. Ибо модуль органично смотрится как реализация контейнера. Отдельные процедуры в нешаблонных модулях - не стоят гемора.
И кстати, это не потребует кардинальных изменений синтаксиса. Только заголовок шаблона для модуля и синтаксис имени модуля-шаблона в операторе import.
А это уже проходили. В Аде. Часто плодить модули ради мелкой фиговины (фиговина мелкая, но используется широко и параметризуется разными типами) как-то не кошерно.
Если используется широко, то пофигу, мелкая она или нет.
Кошерно-не кошерно - это вообще не довод. "Вам шашечки или ехать?!"(с)

8
ИМХО шаблоны - только на уровне модулей. Ибо модуль органично смотрится как реализация контейнера. Отдельные процедуры в нешаблонных модулях - не стоят гемора.
И кстати, это не потребует кардинальных изменений синтаксиса. Только заголовок шаблона для модуля и синтаксис имени модуля-шаблона в операторе import.

9
Общий раздел / Re:haXe
« : Март 28, 2011, 10:00:48 pm »
У меня один дипломник писал интегрированную среду с haXe. Он был заочник, поэтому писал диплом конкретно для своих непосредственных рабочих задач. И сейчас ее успешно применяет... :)

10
Общий раздел / Re:ПО для Шаттла
« : Март 26, 2011, 10:44:14 am »
Там самое интересное не инструментарий, а процесс
Цитировать
1. Продукт хорош настолько, насколько хорош план для него.

В бортовой группе шаттла, около трети процесса по написанию ПО происходит до того, как кто-либо напишет хоть одну строку кода. НАСА и группа из Локхид Мартин достигают соглашения в самых подробных описаниях, касательно всего, что новый код должен будет делать – и затем они фиксируют достигнутые договоренности на бумаге с такой скрупулезностью и точностью, которую обычно можно наблюдать при ксерокопировании. Ничто в спецификациях не может быть изменено без согласия и полного понимания с обеих сторон. И никто не изменит ни одной сроки кода без спецификации, подробно описывающей это изменение.
Понятно, что эти ребята не заботятся о прибыли, а значит, решения принимают не на основе коньюнктурных соображений, а по реальным задачам, которые требуется решить. 
В обычном бизнесе ни один бизнесмен не может себе подобного позволить - конкуренты просто раньше сделают, пусть и с ошибками. Но захватят рынок, и - финиш.
Еще нужно отметить, что многолетняя специализация позволяет достичь практически безошибочного кода. Даже когда просто сидишь на д одной задачей - код рефакторится и очищается со временем. Становится все лучше и лучше.
Бизнесмены - они принципиально по-другому работают. Быстрей следующую версию, намотать финтифлюшек, сделать рекламу и продать. 

11
Общий раздел / Re:[Oberon-07] Менеджер памяти.
« : Март 22, 2011, 09:00:19 am »
может алтернативу на хаскеле запилим ? :-)
Все программисты делятся на тех, кто уже написал свой компилятор, и тех, кто ещё не написал.  ;)
Я - посередине. Написал ассемблер, а там - трансляция и интерпретация выражений - метод рекурсивного спуска по грамматике... :)

12
А почему ссылка не открывается?

13
Общий раздел / Re:Идеальный ЯП
« : Март 17, 2011, 05:26:04 am »
Присваивание слева-направо - это естественная математическая запись y = f(x)

14
Общий раздел / Re:Тезис про Oberon, C, CP и ObjC.
« : Март 17, 2011, 05:19:51 am »
Цитировать
Я не понимаю что значит "ничего". Вот у меня 8ми битная переменная. Значение у нее текущее 255, я инкрементирую её на единицу -- что значит "ничего"? То есть 255 и останется? Ибо если оно вдруг обнулится, это будет очень даже чего.
Пример был на oberoncore.ru. Сейчас уже не найду. Происходит, естественно, переполнение в 0.
Вот это как раз НЕ естественно. Вообще, если исходить из того, что описание языка - это есть спецификация некоторой виртуальной машины (а по Вирту вроде именно так и есть), то спецификация должна описывать ВСЕ.В том числе и все операции в деталях.
Либо должно быть явное указание на то, что данная операция отображается на реальную операцию "железа".
Ведь с памяться в описании КП написано совершенно явно - должна быть сборка мусора, иначе это - не КП.
При сертификации компиляторов Ады поступили так же: компилятор ДОЛЖЕН удовлетворять определеннным свойствам-качествам, иначе это - не компилятор Ады.
 

15
Как я уже писал выше, дополнительные потоки создаются вручную, путём вызова соответсвующих функций WinAPI (если речь о винде). Суть предложения Валерия Лаптева я понял так, что эти вызовы будут встаиваться самим компилятором. Нужен новый поток в приложении?, - пометил модуль ключевым словом PARALLEL, и всё! Если я не так понял, пусть Валерий меня поправит.

Вот и связь с обсуждаемым вопросом  ;) С процессами этот фокус точно не пройдёт.
Как раз с процессами и пройдет. Только нужно этот механизм встроить непосредственно в среду ББ, которая сейчас фактически является однозадачной осью. Загружает и исполняет один модуль-процесс, в котором запускается одна процедура-поток (тред). Слово parallel для многопоточного ББ и будет означать, чтобы запускал параллельно. А  процедуры в модуле - это точный аналог треда, как они описаны в винде. Параллельный поток с общей памятью.

Конечно, для параллельных модулей надо додумать инкапсуляцию. Пока получается, что по умолчанию все внутри модуля является приватным. Кроме процедур-потоков.

Страницы: [1] 2 3 4