Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Флейм > Языки программирования через сто лет.


Автор: .RADIX 9.8.2004, 14:04
Предлагаю вам ознакомиться с http://www.computerra.ru/hitech/35042 статьёй. Никакой рекламы, пропаганды или holy war там нет.

Вот несколько "фундаментальных" цитат оттуда:

Цитата

Неэффективные программы - отнбдь не кощунство.
Кощунство - это языки, которые заставляют программистов выполнять ненужную работу. Не расход машинного времени, а пустая трата времени программиста - вот истинная неэффективность. И это будет становиться всё очевиднее, по мере роста производительности компьютеров.



Цитата

Кстати, я вовсе не предрекаю гибель объектно-ориентированного подхода. Хотя, по моему мнению, за исключением некоторых специалезированных областей применения, объектно-ориентированность ничего не даёт хорошим программистам, она очень привлекательна для больших организаций. ООП - это приличный способ написания путанного, лапшеобразного кода, позволяющий строить программы в виде серии патчей. Большие организации всегда были склонны разрабатывать ПО таким образом, так что думаю поэтому и через сто лет ничего не изменится.


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

Автор: .RADIX 9.8.2004, 14:30
Оказывается, подобную статью уже выложил foRaver, так что я опоздал.

Автор: <Spawn> 9.8.2004, 16:08
Цитата
ООП - это приличный способ написания путанного, лапшеобразного кода, позволяющий строить программы в виде серии патчей
Нужно абсолютно ни чего не соображать в ООП, чтобы такое написать. Не один действительно крупный проект в наше время не обойдется без ООП. Это самое ООП позволяет добиться такой абстракции кода, что в будущем не прийдется вспоминать, что делает тот или инной класс - если он грамотно написан, то его методы\свойства будут говорить сами за себя, чего я не могу сказать о ворохе функций сваленых в один модуль.

Все это мое ИМХО.

Автор: Domestic Cat 9.8.2004, 16:37
Вот такой бред получается, когда прог-ламер пытается рассуждать о
бытии.

Цитата
Люди спрашивают меня: "Как можно говорить, что Джаве не быть? Она уже стала успешным языком". И я не могу не согласиться с ними. Джава - успешный язык, если считать мерилом успеха площадь полок с учебниками Джавы в книжных магазинах или количество студентов, убеждённых, что знание Джавы поможет им найти работу. Я имел в виду другое. Мне кажется, Джава окажется таким же эволюционным тупиком, как Кобол.


То есть, типа, мужик крут, прямо супер крут. Мол, знаем что такое Java, с чем ее едят.
(Кстати из этого прямой вывод: знаете C++? Так это тупик. Java - "причесанный" C++ имхо.)

Аднако, заглянем на eго сайт:

Цитата

I've never written a Java program, never more than glanced over reference books about it, but I have a hunch that it won't be a very successful language. I may turn out to be mistaken; making predictions about technology is a dangerous business. But for what it's worth, as a sort of time capsule, here's why I don't like the look of Java:

4. No one loves it. C, Perl, Python, Smalltalk, and Lisp programmers love their languages. I've never heard anyone say that they loved Java.

7. It's bureaucratic. From what little I know about Java, there seem to be a lot of protocols for doing things. Really good languages aren't like that. They let you do what you want and get out of the way.


Цитата

Перевод:

Я не написал ни одной Java программы,, никогда не сделал большего чем просто просмотрел книги о ней, но мне кажется, что этот язык никогда не будет успешным. ....
Вот почему мне не нравится :

4. Никто его не любит ...
...
7. Он бюрократичен. Из того что я знаю о , кажется там есть много протоколов.


Чес слово. Мне по телефону Мойша рассказал о C++. Так там столько всего!
Какие-то указатели, ссылки, классы. Настоящий язык программирования прост
до тупизны: там и чисел не должно быть! Одни списки!

Цитата
Может ли развитие языков программирования зайти настолько далеко, что в них не будет чисел как фундаментального типа данных?


А ваще плохо, когда надо много писать:
Цитата
Думаю, верным решением этой проблемы было бы разделение смысла программы и тонкостей реализации.
...
Сокращение количества информации о конкретной реализации сделает программы гибче. Спецификации меняются, пока программа пишется, и это не только неизбежно, но и желательно.
...
В самой первой версии программы они стремились использовать списки для всего. Эта версия может быть так потрясающе неэффективна, что приходится нарочно стараться не думать о том, как она работает, как, поедая бифштекс, лучше не задумываться о том, из чего он сделан (во всяком случае, со мной дело обстоит именно так).
...
Кощунство - это языки, которые заставляют программистов выполнять ненужную работу.


Но тем не менее, ООП очень плох! (Тоже по телефону рассказали).

Цитата


Кстати, я вовсе не предрекаю гибель объектно-ориентированного подхода. Хотя, по моему мнению, за исключением некоторых специализированных областей применения, объектно-ориентированность ничего не даёт хорошим программистам, она очень привлекательна для больших организаций. ООП - это приличный способ написания путаного лапшеобразного кода, позволяющий строить программы в виде серии патчей. Большие организации всегда были склонны разрабатывать программное обеспечение таким образом, и думаю, этому и через сто лет не измениться.


Гы. Человек не осознает, что ООП и есть то, чго он ищет.

То есть, достаточно пролистать несколько книг по любому языку, и наш гениальный
ум сразу сообразит, что к чему.
Можно даже и программ не писать, не работать с языком.
Столько пакетов, "операторов", методов всяких. Знаем Лисп -
этого достаточно.
Действительно, зачем в Java пакет java.rmi.*,a в C++ - RPC ? Сложновато. Еще один протокол.
Надо бы попроще, самим все написать ручками - меньше работы будет.
А кто пишет RMI клиент-сервер (/* пишется за 10 минут */) - дурак.
Один из доводов этого товарища: "чутье хакера". Во, блин, ищейка.
Чую я, .NET умрет. Хороший довод. Ух. rotflmao (rolled on the floor
laughing my ass off)

Мое мнение: высоколобый ламер (вроде как нонсенс).

PS. Я люблю Java, следовательно она не умрет smile.gif biggrin.gif

Автор: LSD 10.8.2004, 20:35
Цитата(Domestic @ 9.8.2004, 16:37)
Какие-то указатели, ссылки, классы. Настоящий язык программирования простдо тупизны: там и чисел не должно быть! Одни списки!

Есть такая штука лямбда счисление, так там как раз так и есть. Есть лямбда абстракция - аналог объявления функции, лямбда аппликация - аналог вычисления функции в точке, идентификатор и усе. И с помощью этих нехитрых приемчиков ребята повторяют всю математику, определяют числа, арифметические операции операции и т.д.

Автор: Domestic Cat 10.8.2004, 22:39
Цитата
Есть такая штука лямбда счисление, так там как раз так и есть. Есть лямбда абстракция - аналог объявления функции, лямбда аппликация - аналог вычисления функции в точке, идентификатор и усе. И с помощью этих нехитрых приемчиков ребята повторяют всю математику, определяют числа, арифметические операции операции и т.д.


А смысл?

Тысячи лет человечество использует числа как способ познания окружающего мира.
Чем они плохи? Понятное дело, можно язык (обычный) заменить например, азбукой
морзе и отстукивать ее ногами. Ну и толку с этого?

Ни через 100 лет, ни через 1000 никто от чисел/языка не откажется. Это естестевенное средсво познания. Пусть будут квантовые компьютеры, да все что угодно -
квантовая механика - это тоже числа.

Да ладно, статейка левая, но безобидная. А ват его сайт ...
http://www.paulgraham.com/articles.html

Особенно стоит почитать Java's Cover.
http://www.paulgraham.com/javacover.html

Полный бред, я такого маразма от программера не ожидал.
Хотя может быть, объяснение гораздо прозаичнее - ни Лисп, ни новорожденный
Arc популярностю пользоваться не будут. Человек привлекает к себе внимание,
а Java выбрал чтобы пристроиться в хвост М$. Может, мяса кусок перепадет.

Автор: LSD 11.8.2004, 19:15
Цитата(Domestic @ 10.8.2004, 22:39)
А смысл?

От простого к сложному. Вся математика строится по такому принципу. Та же геометрия: три базовых геометрических фигуры, тройка аксиом и логика, а сколько на базе этого навертели.

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

Автор: Domestic Cat 11.8.2004, 19:57
Цитата
А насчет функциональных языков ты зря так. Они очень интерестны, прежде всего тем что позволяют искать решение от задачи, а не от возможностей аппаратуры.


Ну так я не против каких-либо языков, и Лиспа/Арка в частности.
Находит и Лисп применение, только вот например:
http://c2.com/cgi/wiki?WhyWeHateLisp
Грэмовское дитя Yahoo Store было переписано в С++.
Математика-то движется от простого к сложному, но часто лы ты используешь, скажем, теорию групп? В узкоспециализированных областях - да, она используется.
Но найти математика, который с ней не работает - раз плюнуть.
Ну не будет язык с конструкцией
Код

(defun absdiff (x y)
 (if (> x y)
     (- x y)
     (- y x)))

сверхпонятным и дешевым в разработке софта.
Я против Пола Грэма. Мужик действует по принципу: "Мало-Кто-Любит-Мой-Язык-Давайте-Бить-Java-C++-C#-...". Также как и создатель Эйфеля Меэр.
Читаешь статьи Грэма и чуствуешь что человек считает себя супер хакером
- потому что он лиспер; Java-C# ... -программеры, по его выражению, "дроны" (drones).







Автор: LSD 11.8.2004, 22:06
Цитата(Domestic @ 11.8.2004, 19:57)
часто лы ты используешь, скажем, теорию групп?

В неявном виде постоянно. В любой более-мене крупной задаче можно найти эти элементы.

Цитата(Domestic @ 11.8.2004, 19:57)
Ну не будет язык с конструкцией ... сверхпонятным и дешевым в разработке софта.

Смотря какой задачи, есть класс задач, для которых кодирование (по сложности), не сопоставимо с предварительной подготовкой: постановка задачи, разработка алгоритма и т.д. А насчет понятности, что делает данная программа:
Код
fun f n = n * ( f(n-1) )
  | f 0 = 1;

Автор: Domestic Cat 11.8.2004, 22:22

Цитата
В неявном виде постоянно. В любой более-мене крупной задаче можно найти эти элементы.

В неявном виде - да, а что будет если использовать в явном?
Она нужна там, где она нужна. Можно не иметь представления
об асме но быть прекрасным веб-дизайнером.
Цитата
А насчет понятности, что делает данная программа:
Код
fun f n = n * ( f(n-1) )
  | f 0 = 1;

Считает факториал. Только вот этот вариант гораздо понятнее:
Код

int factorial(int number)
{
    if (number == 0)
          return 1;
    else
          return number * factorial(number - 1);
}

Этот пример-то еще ничего, а если программа в 50,000 строк?
Как насчет дебаггинга и пр? Чем выше уровень языка, тем проще
писать подобные проeкты. Как ни крути.

Автор: .RADIX 11.8.2004, 23:17
Поддерживаю мнение общественности, что автор этой статьи не прав.

Автор: sergejzr 11.8.2004, 23:30
Цитата(Domestic @ 10.8.2004, 21:39)
Тысячи лет человечество использует числа как способ познания окружающего мира.
Чем они плохи? Понятное дело, можно язык (обычный) заменить например, азбукой
морзе и отстукивать ее ногами. Ну и толку с этого?


Классно сказано!

К статьям:
Просто человеку нравится что либо только тогда, кода это получается smile.gif
И дело может быть не в читабельности языка. Отличный Си программист не знающий Пролога или Лиспа просто обсмеёт того, кто скажет, что там прога понятней smile.gif. И наоборот.

Цитата(Domestic @ 9.8.2004, 15:37)
I've never written a Java program, never more than glanced over reference books about it

Разве этим не всё сказано?

Кто скажет что лучше, отвёртка или молоток? smile.gif

-------------------------------------------------------------------------

А если вернуться к теме, то недеюсь, что через 100 лет мы будем говорить компу, что нам надо, а уж он на ассемблере оптимально программировать будет smile.gif

Автор: Skywalker 12.8.2004, 01:56
лет через 100 компы будут встраиваться в мозг при рождении, и мы будем общаться по подобиям BlueTooth или Wi-Fi... кто-знает smile.gif

Автор: sergejzr 12.8.2004, 02:01
Цитата(Skywalker @ 12.8.2004, 00:56)
мы будем общаться по подобиям BlueTooth или Wi-Fi... кто-знает


Классно будет тогда программистам smile.gif smile.gif.... Даже клаву мучать не надо smile.gif ..... И вообще шевелиться smile.gif

Автор: Skywalker 12.8.2004, 02:10
лежишь себе задумчивый, а код сам появляется, отлаживается.... а в другом потоке мы в нете сидим, в аське чатимся или как это называться будет... smile.gif

Автор: sergejzr 12.8.2004, 02:23
Покурить/выпить/покушать захотел, система уловила сигнал мозга. В онлайн шоп пошёл заказ и быстрее, чем ты сообразил тебе уже всё доставили... smile.gif
А какое разрешение экрана!!! Вся видеоинформация прям на глазной нерв идёт!! biggrin.gif biggrin.gif biggrin.gif И wallpaper в 3D smile.gif

Сорри за флейм smile.gif На романтику потянуло smile.gif

Автор: Skywalker 12.8.2004, 02:32
сидишь на уроке, шпоры читаешь, а сочинения писать - ваще халява smile.gif
летишь в самолете в другой конец мира и одновременно рубишься в Quake 13 с другом по сети smile.gif

Автор: sergejzr 12.8.2004, 02:45
Цитата(Skywalker @ 12.8.2004, 01:32)
рубишься в Quake 13 с другом по сети

Причём напрямую ощущаешь, как в тебя стреляют smile.gif

Автор: Monty 12.8.2004, 02:54
Цитата(sergej @ 12.8.2004, 01:45)
Цитата(Skywalker @ 12.8.2004, 01:32)
рубишься в Quake 13 с другом по сети

Причём напрямую ощущаешь, как в тебя стреляют smile.gif

Тогда прийдется смягчить чуствительность smile.gif

Автор: Skywalker 12.8.2004, 02:56
сидишь где-нибудь в НьюЙорке и хочешь выпить обычного Днепропетровского пива... и вкус пива передается тебе по вкусовому нерву :-) Общаясь с людьми мы чувствуем что они чувствуют к нам, их настроение :-)
Можно будет сидеть на форуме круглосуточно!

Автор: sergejzr 12.8.2004, 02:59
Главное вирус не поймать smile.gif

Автор: Skywalker 12.8.2004, 03:09
вирусы тогда будут запрещены...

Автор: .RADIX 12.8.2004, 03:20
Цитата

лет через 100 компы будут встраиваться в мозг при рождении, и мы будем общаться по подобиям BlueTooth или Wi-Fi... кто-знает


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

Автор: это setq 12.8.2004, 05:47
Кот, что это за Арк о котором ты упоминаешь?



Автор: Ripper 12.8.2004, 10:59
Ох.. размечтались вы все

Автор: Sardar 13.8.2004, 13:36
По поводу флейма выше: Матрица... biggrin.gif biggrin.gif biggrin.gif
Когда нибудь сделаем, уже сейчас симулируем мир, погоду, природные катаклизмы и т.д. А когда мощь компов повысится в тысячи раз...

Автор: Domestic Cat 13.8.2004, 15:20
Цитата
Кот, что это за Арк о котором ты упоминаешь?


http://www.langreiter.com/space/Arc,+Programming+Language

Автор: .RADIX 13.8.2004, 15:46
Цитата

Кот, что это за Арк о котором ты упоминаешь?


Архиватор из линукса.

Автор: Skywalker 13.8.2004, 15:56
Цитата
А если захочется сапгрейдиться, тогда как - в больницу на операцию ?

Нет, просто у компов будет другая архитектура. В компах будет достаточное количество разных составляющих, и будет софт, который будет менять порядок работы этих составляющих. Например хочешь три-д? Запускай intel-12.app или хочешь работать с графикой? Запускай macintosh.app и т.д.

Автор: Zandr 30.8.2004, 12:06
Цитата
11. Its daddy is in a pinch. Sun's business model is being undermined on two fronts. Cheap Intel processors, of the same type used in desktop machines, are now more than fast enough for servers. And FreeBSD seems to be at least as good an OS for servers as Solaris. Sun's advertising implies that you need Sun servers for industrial strength applications. If this were true, Yahoo would be first in line to buy Suns; but when I worked there, the servers were all Intel boxes running FreeBSD. This bodes ill for Sun's future. If Sun runs into trouble, they could drag Java down with them.

хммм... что-то нехорошее в этом есть... правда с трудом верится, что SUN потонет smile.gif
2 Domestic Cat - на счет чистого ООП в Java... что будем делать с byte, char, boolean, int, double...? smile.gif

Автор: AntonSaburov 30.8.2004, 13:07
Цитата(Zandr @ 30.8.2004, 13:06)
что будем делать с byte, char, boolean, int, double...?

Ну а что будем делать с аксиомами в геометрии ? Лобачевский доказал, что можно провести через одну точку несколько прямых параллельных данной, но эта математика используется в крайне редких случаях. IMHO Java имеет как раз достаточно сбалансированный упор на ООП, но не доводит это до маразма.

А если говорить о языках - они будут соответствовать задачам, которые будут решать через 100 лет. Сейчас что-то более мощное - это сразу ограничение. Взять те же математические пакеты - тот же MathLab решает задачи САУ как орешки. Я на нем писал несколько задач - просто супер. Можно даже менюшки добавить, графики - просто класс. Но вот задачи бизнеса на нем решать просто глупо.

Сейчас бизнес задачи требуют очень многогранного подхода - это может быть и приличная математика (транспортные задачи, поиск, фильтрация спама). А может быть и проблемы состыковки разных систем, протоколы.
И потому нужна платформа, которая может поддерживать всю такого рода инфраструктуру. На сегодня это алгоритмически языки типа Java, C++, C#. Лучше пока ничего нет.

Мое личное мнение - идея Web Services может продвинуть ИТ индустрию на новый уровень. Т.е. программист должен будет программировать задачи другого уровня - может что-то типа найти решатель проблемы, подключиться к нему и вызвать.
А вот "решатели" проблем будут написаны на всевозможных пакетах, которые подходят для решения конкретных задач. Будет просто унифицирован интерфейс для обращения к этим "решателям" - а на сегодня это как раз WebServices.
Но и задачи сегодняшнего дня будут тоже требовать решения еще не одно десятилетие.

Вообщем программирование будет усложняться и профессионалы без работы не останутся smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)