Re[4]: Язык будущего. Какой он?
От: Pavel Dvorkin Россия  
Дата: 28.10.09 12:45
Оценка:
Здравствуйте, Privalov, Вы писали:

P>А напрямую фортрановские библиотеки нельзя было использовать? ЕМНИП, это несложно.


Можно, впоследствии делал.


>Правда, загвоздка была: Borland C++ с MS Fortran в среде MS DOS не состыковывался, кроме простейших случаев.


Именно. Да и не хотелось возиться.
With best regards
Pavel Dvorkin
Re: Язык будущего. Какой он?
От: Pzz Россия https://github.com/alexpevzner
Дата: 28.10.09 13:48
Оценка: -1 :)
Здравствуйте, TimurSPB, Вы писали:

TSP>Часто пишут о грядущей смерти C/С++ и о том что Java + .NET будущее программирования на долгие годы вперед.

TSP>Я считаю, что Java и .NET просто шаг вперед к языкам и платформам которые дадут возможности управления всеми доступными ресурсами сразу на разных уровнях. От регистров процессоров до бизнес логики. Язык будущего должен давать возможность определять классы и создавать их экземпляры так, что бы можно было определять уровни доступа к ресурсам на разных уровнях.

В будущем будут писать программы сразу на смеси языков. Скажем, C/C++ для мест, узких в плане производительности или требующих интимных отношений с операционной системой, на Ерланге, Окамле или Хаскелле в "умных" местах, на Питоне в "гибких", на Яве в местах, требующих интеграции с legacy, на дотнете там, где код пишут 1000 индусов. Однополярный мир закончился
Re[2]: Язык будущего. Какой он?
От: Pzz Россия https://github.com/alexpevzner
Дата: 28.10.09 13:51
Оценка: 3 (2) -1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>От текста к визуальным образам с произвольным профилированием визуализации в зависимости от текущих задач. Но, правда, мощности даже современных компьютеров на это слегка не очень хватает. Визуализируй-ка мне boost в реалтайме... В процессе разработки.


Вся эволюция культуры заключается как раз в движении от визуальных образов к тексту (не только в программировании). Думаете, тенденция к распаду нашей цивилизации таки победит?

ГВ>Задача 0: наследование имеющегося ПО. До хрена процентов которого написана на C, C++, Shell language, Perl, Visual Basic, SQL. Пока что об эту задачу обламывают зубы все без исключения.


Тут уже наметился общепринятый подход: оставляем legacy как есть, и делаем к нему интерфейс из нового кода. Новый код может быть написан на совершенно другом языке, и даже жить в другой коробке с другой операционной системой.
Re: Язык будущего. Какой он?
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.10.09 15:44
Оценка: 2 (1) +2 -1
Здравствуйте, TimurSPB, Вы писали:

TSP>А как вы видите развитие средств разработки программ?


Как избавление 99% программистов от мыслей о низкоуровневой работе.

Не нужно быть гением-провидцем, чтобы понять, что все развитие компьютеров идет в сторону улучшения асбрагирования от железа. Вот очевидные этапы развития:
1. 40-ые года прошлого века — программирование на уровне переключения проводочков и перепаивания ламп.
2. 50-ые — программирование на уровне машинных инструкций.
3. 60-ые — переход к ассемблерам.
4. 60-70-ые — переход к "языкам высокого уровня" аля Алгол и Фртран (в последствие С, Паскаль).
5. 70-ые — переход к ООП и ФП.
6. 90-ые переход к типобезопасным и управляемым языкам. Переход к компонентным технологиям.
7. (будущее) Очевидно развитие будет идти в ту же сторону. Будет повышаться уровень языков, мощность библиотек. В программировании будет все больше цениться декларативность (причем достигаемая не обязательно с помощью ФП, а любая). Языки начнут предоставлять возможности верификации программ.

Тоже самое на уровне ОС:
1. ОС нет как класс.
2. ОС без защиты памяти и вообще почти без ничего. Есть только базовые сервисы.
3. ОС предоставляют основные сервисы. Программам не надо общаться с железом напрямую.
4. ОС с защитой памяти процессов, сменные драйверы.
5. (будущее) Управляемые и верефицируемые ОС.

Конечно исследования и пробные работы были и раньше. И, вообще, все года довольно услонвые, но общая тенденция именно такова.

Так что требовать от языков каких-то переходов на более низкий уровень — это просто смешно. В том же C# на сегодня есть конструкция unsafe. Вот только на практике ее используют крайне редко. Большей части для интеграции со "старым миром".

Самое смешное, что с точки зрения оптимизации скорости выполнения ПО высокоуровенвость и декларативность кода — это благо, а не недостаток. Пока что оптимизация находится на очень низком уровне и преимущество это скорее гипотетическое. Но со временем оно обязательно перейдет в практическую плоскость. И тогда вороченье битами станет таким же моветоном как сегодня программирование на ассемблере.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Язык будущего. Какой он?
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.10.09 16:00
Оценка: :)
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Эх... Чует мое сердце, что скорости работы Visual Studio 6.0 уже никогда не будет


У меня она тормозила безбожно, потому как компьютер был слабенький, а писал я на С++ с использованием Томато (как его там?).
А 2008-ая студия у меня сейчас запускается весьма шустро. Я ее запускаю очень часто, так как отлаживаю интеграцию для нее же. Компьютер конечно другой. 4-х ядерный и намного более быстрый. Но и возможности стали намного большими. Да и языки сильно мощнее.

Конечно VS 2010 по началу будет казаться дико медленной. Но со временем железо догонит и перегонит. Так что и она окажется вполне шустрой. Ну, а возможности в очередной раз расширятся.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Язык будущего. Какой он?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 28.10.09 16:08
Оценка:
Здравствуйте, Pzz, Вы писали:

ГВ>>От текста к визуальным образам [...]

Pzz>Вся эволюция культуры заключается как раз в движении от визуальных образов к тексту (не только в программировании). Думаете, тенденция к распаду нашей цивилизации таки победит?

Вот знаешь, о том же задумался. Может, идея визуализации и не совсем правильная.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[4]: Язык будущего. Какой он?
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.10.09 16:19
Оценка:
Здравствуйте, LaptevVV, Вы писали:

PD>>Эх... Чует мое сердце, что скорости работы Visual Studio 6.0 уже никогда не будет

LVV>Не... Блэк-бокс вполне себе шустро работает...

Мне кажется, что его среда даже VS 6 по функциональности уступает.
Там хоть комплит есть?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Язык будущего. Какой он?
От: Aleх  
Дата: 28.10.09 16:44
Оценка:
Здравствуйте, thesz, Вы писали:


T>Если серьёзно, то иди читай про зависимые типы.

Интересно, языки, поддерживающие зависимые типы, заставляют ли программиста описывать типы максимально точно? А то ведь можно например описать бОльшую область возращаемого значения функции, чем её реальная область значения. И какой тогда от них смысл будет, если программистам будет влом их писать.
А если функция короткая (простая), программист вообще будет считать излишним описывать. и тд.

Возможно ли в языках, поддерживающих ЗТ, подставлять уже описанную функцию (например из библиотеки) в преобразование типа? То есть программирование частично сведется к преобразованию типов.
Re[3]: Язык будущего. Какой он?
От: thesz Россия http://thesz.livejournal.com
Дата: 28.10.09 17:00
Оценка:
Здравствуйте, Aleх, Вы писали:

A>Здравствуйте, thesz, Вы писали:



T>>Если серьёзно, то иди читай про зависимые типы.

A>Интересно, языки, поддерживающие зависимые типы, заставляют ли программиста описывать типы максимально точно? А то ведь можно например описать бОльшую область возращаемого значения функции, чем её реальная область значения. И какой тогда от них смысл будет, если программистам будет влом их писать.

В декларативном программировании это всё расписали. Там есть ветка про зависимые типы.

A>А если функция короткая (простая), программист вообще будет считать излишним описывать. и тд.


Нет.

Функция две строки и строка типа.

Обычно — функция пять-семь строк и тип в одну строку.

http://www.cs.swan.ac.uk/~csetzer/lectures/intertheo/07/interactiveTheoremProvingForAgdaUsers.html
http://www.cs.chalmers.se/~peterd/papers/DependentTypesAtWork.pdf

A>Возможно ли в языках, поддерживающих ЗТ, подставлять уже описанную функцию (например из библиотеки) в преобразование типа? То есть программирование частично сведется к преобразованию типов.


Что такое "подставлять функцию из библиотеки в преобразование типа"?
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[3]: Язык будущего. Какой он?
От: IT Россия linq2db.com
Дата: 28.10.09 17:15
Оценка: 3 (2) +3 :)))
Здравствуйте, LaptevVV, Вы писали:

LVV>Среды такой пока нет. Ибо существующие промышленные ПРОФЕССИОНАЛЬНЫЕ среды заточены под текстовый редактор (от уж маразм, так маразм!). Когда будут заточны под семантические модели — тогда будет тебе счастье!


Маразм — это рассматривать визуальную модель через замочную скважину, коей является любой даже 30" монитор. Для работы со средненькой моделью нужен монитор размером со стену. Вот тогда может быть и будет счастье.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Язык будущего. Какой он?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 28.10.09 17:24
Оценка:
Здравствуйте, Кирилл Осенков, Вы писали:

КО>Не исключено, что x-code имеет ввиду MEF.


Ну, MEF это тоже не инструмент проектирования.
... << RSDN@Home 1.2.0 alpha 4 rev. 1249 on Windows 7 6.1.7600.0>>
AVK Blog
Re[4]: Язык будущего. Какой он?
От: Aleх  
Дата: 28.10.09 17:34
Оценка:
Здравствуйте, thesz, Вы писали:

T>Здравствуйте, Aleх, Вы писали:


A>>Здравствуйте, thesz, Вы писали:



T>>>Если серьёзно, то иди читай про зависимые типы.

A>>Интересно, языки, поддерживающие зависимые типы, заставляют ли программиста описывать типы максимально точно? А то ведь можно например описать бОльшую область возращаемого значения функции, чем её реальная область значения. И какой тогда от них смысл будет, если программистам будет влом их писать.

T>В декларативном программировании это всё расписали. Там есть ветка про зависимые типы.


A>>А если функция короткая (простая), программист вообще будет считать излишним описывать. и тд.


T>Нет.


T>Функция две строки и строка типа.


T>Обычно — функция пять-семь строк и тип в одну строку.


T>http://www.cs.swan.ac.uk/~csetzer/lectures/intertheo/07/interactiveTheoremProvingForAgdaUsers.html

T>http://www.cs.chalmers.se/~peterd/papers/DependentTypesAtWork.pdf

A>>Возможно ли в языках, поддерживающих ЗТ, подставлять уже описанную функцию (например из библиотеки) в преобразование типа? То есть программирование частично сведется к преобразованию типов.


T>Что такое "подставлять функцию из библиотеки в преобразование типа"?

Это значит, пусть описана функция (например сортировка) описан тип аргумента(просто список) и тип результата (отсортированный список). Программист пишет преобразование типа (список => отсортированный список), и вместо преобразования компилятор подставляет функцию.
А ещё лучше так. В библиотеке описаны множество функций, работающих с одинаковыми парами тип аргумента и тип возвращаемого значения (например сортировки, но разные алгоритмы, имеющие разные характеристики, например вычислительную сложность), и компилятор на месте преобразования типа подставляет наиболее оптимальную с точки зрения производительности функцию в зависимости от того, от некоторых характеристик данных, например их размера (длины в случае списка).
Было бы вообще замечательно, если бы компилятор мог генерировать некоторые классы функций. Разумеется задача не разрешима в общем виде, но всё же в некоторых простых случаях было бы удобно, и я полагаю это возможно реализовать.
Так вот, что нибудь похожее где нибудь реализовано, или ЗТ позволяют только верифицировать код?
Re[3]: Язык будущего. Какой он?
От: Vi2 Удмуртия http://www.adem.ru
Дата: 28.10.09 17:47
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Вся эволюция культуры заключается как раз в движении от визуальных образов к тексту (не только в программировании). Думаете, тенденция к распаду нашей цивилизации таки победит?


Вся _предшествующая_ эволюция культуры. Это диалектическая спираль: от визуальных образов к тексту и далее снова к визуальным образам. Не думаешь же ты, что текст и есть квинт-эссенция культуры?

А про визуализацию boost: auto_ptr — черненький параллелепипед, share_ptr — красненький.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
Re[4]: Язык будущего. Какой он?
От: VoidEx  
Дата: 28.10.09 17:49
Оценка:
Здравствуйте, любой, Вы писали:

Л>Здравствуйте, VoidEx, Вы писали:


Л>>>В естественном языке десятки тысяч слов (не считая научных терминов). Но общаться на нём можно, имея словарный запас в несколько десятков слов. Язык программирования должен быть таким же.

VE>>Почему?

Л>Язык — это единое культурное пространство, в котором люди с разным уровнем подкованности способны понимать друг друга, не затрагивая какие-то глубокие проблемы.

Неправда. Пока не было обильного обмена информацией, люди в разных городах могли друг друга не понимать. Боюсь, что даже сейчас люди из разных поколений будут понимать друг друга крайне смутно.
Вот математика — это единое культурное пространство, правда, там нужно иметь достаточно высокий уровень подкованности.
Re[5]: Язык будущего. Какой он?
От: thesz Россия http://thesz.livejournal.com
Дата: 28.10.09 20:45
Оценка:
Здравствуйте, Aleх, Вы писали:

A>>>Возможно ли в языках, поддерживающих ЗТ, подставлять уже описанную функцию (например из библиотеки) в преобразование типа? То есть программирование частично сведется к преобразованию типов.


T>>Что такое "подставлять функцию из библиотеки в преобразование типа"?

A>Это значит, пусть описана функция (например сортировка) описан тип аргумента(просто список) и тип результата (отсортированный список). Программист пишет преобразование типа (список => отсортированный список), и вместо преобразования компилятор подставляет функцию.

http://lambda-the-ultimate.org/node/1178

Уже есть.

A>А ещё лучше так. В библиотеке описаны множество функций, работающих с одинаковыми парами тип аргумента и тип возвращаемого значения (например сортировки, но разные алгоритмы, имеющие разные характеристики, например вычислительную сложность), и компилятор на месте преобразования типа подставляет наиболее оптимальную с точки зрения производительности функцию в зависимости от того, от некоторых характеристик данных, например их размера (длины в случае списка).


Задайте требуемую сложность в типе — а [yrl=http://okmij.org/ftp/Haskell/number-parameterized-types.html]это уже возможно[/url], — получите требуемую функцию по выбору сложности.

A>Было бы вообще замечательно, если бы компилятор мог генерировать некоторые классы функций. Разумеется задача не разрешима в общем виде, но всё же в некоторых простых случаях было бы удобно, и я полагаю это возможно реализовать.


Значит, надо реализовать, если возможно.

A>Так вот, что нибудь похожее где нибудь реализовано, или ЗТ позволяют только верифицировать код?


Скрестите вон те две ссылки, что выше, и будет вам счастие.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[4]: Язык будущего. Какой он?
От: Pzz Россия https://github.com/alexpevzner
Дата: 28.10.09 21:24
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

Pzz>>Вся эволюция культуры заключается как раз в движении от визуальных образов к тексту (не только в программировании). Думаете, тенденция к распаду нашей цивилизации таки победит?


ГВ>Вот знаешь, о том же задумался. Может, идея визуализации и не совсем правильная.


Она, по-моему, сродни комиксам. С одной стороны, сложную вещь так не скажешь, т.е. уровень падает. С другой, комиксы проще для восприятия, чем текст, т.е. культура становится более массовой.
Re[4]: Язык будущего. Какой он?
От: Pzz Россия https://github.com/alexpevzner
Дата: 28.10.09 21:26
Оценка: +1
Здравствуйте, Vi2, Вы писали:

Pzz>>Вся эволюция культуры заключается как раз в движении от визуальных образов к тексту (не только в программировании). Думаете, тенденция к распаду нашей цивилизации таки победит?


Vi2>Вся _предшествующая_ эволюция культуры. Это диалектическая спираль: от визуальных образов к тексту и далее снова к визуальным образам.


Ну в принципе да, время от времени цивилизация приходит в состояние упадка. Старые достижения забываются, мир завоёвывают варвары. Потом проходит сколько-то веков, и цивилизация возрождается. Не исключено, что сейчас мы наблюдаем именно процесс упадка. Надеюсь не дожить до его завершения

Vi2>Не думаешь же ты, что текст и есть квинт-эссенция культуры?


Смотря какой. Нашей — да.
Re[5]: Язык будущего. Какой он?
От: thesz Россия http://thesz.livejournal.com
Дата: 28.10.09 23:43
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>комиксы проще для восприятия, чем текст, т.е. культура становится более массовой.


Исключительно для неграмотных эмигрантов.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[5]: Язык будущего. Какой он?
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 29.10.09 07:53
Оценка: +1
VE>Вот математика — это единое культурное пространство, правда, там нужно иметь достаточно высокий уровень подкованности.

Чёрта с два. Одну и ту же сложную задачу обычно можно решить совершенно разными способами. Применяя разные подходы. В зависимости от того, к какой научной школе ты ближе.
Простой пример: если ты знаешь, что такое вариация функционала, ты можешь решить определённую задачу немного проще, чем просто с применением в лоб дифференциального исчисления. Но это не обязательно значит, что ты её не решишь без применения вариаций.
(Сравните:
http://www.cneat.ru/lex3.html
и
http://www.ispa-soft.ru/statxi/statxq2.htm)
То же касается и операционного исчисления.
Уверен, что есть ещё много областей математики, знание которых в принципе является не точным признаком квалифицированности, а только отношением к определённому разделу математики.

Имхо те же диалекты, только сбоку
... << RSDN@Home 1.2.0 alpha 4 rev. 1233>>
Re[2]: Язык будущего. Какой он?
От: VGn Россия http://vassilsanych.livejournal.com
Дата: 29.10.09 08:18
Оценка:
Pzz>В будущем будут писать программы сразу на смеси языков. Скажем, C/C++ для мест, узких в плане производительности или требующих интимных отношений с операционной системой, на Ерланге, Окамле или Хаскелле в "умных" местах, на Питоне в "гибких", на Яве в местах, требующих интеграции с legacy, на дотнете там, где код пишут 1000 индусов. Однополярный мир закончился

Врядли. Из соображений безопасности выгоднее обособить такой функционал в отдельные модули, за интеграцией/доступом к которым следить по отдельности.
... << RSDN@Home 1.2.0 alpha 4 rev. 1233>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.