The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

OpenNews: Сколько языков программирования нужно выучить, opennews (?), 20-Мрт-08, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


26. "Сколько языков программирования нужно выучить"  +/
Сообщение от Leshi (ok), 20-Мрт-08, 18:18 
> Например, Perl - мощнее чем C для задач обработки строк

имхо неудачный пример. libpcre, boost и еще многое, чего я даже не видел может нивелировать разницу в трудоемкости с увеличением разницы в производительности.

Вообще с С/С++ неудачно сравнивать любые языки программирования. В конечном итоге библиотеки (в смысле скомпилированные) все равно либо написаны на С, либо совместимы с ним по вызовам, либо есть такие аналоги. Соответственно можно обратиться к нужной и выполнить нужные действия. А по эффективности С/С++ уступают очень не многим языкам. И уж точно не уступают интерпретируемым. С/С++ вообще привилегированные языки с конца 60-х годов прошлого века. Причем они успели обрасти атавизмами и рудиментами, но привилегии остались.

Хотя общая идея правильная. Каждому ЯП свой фронт работ, не смотря на их широту, мощность и универсальность.

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

31. "Сколько языков программирования нужно выучить"  +/
Сообщение от thehangedmanemail (ok), 20-Мрт-08, 18:50 
>> Например, Perl - мощнее чем C для задач обработки строк
>
>имхо неудачный пример. libpcre, boost и еще многое, чего я даже не
>видел может нивелировать разницу в трудоемкости с увеличением разницы в производительности.

Так мощность языка - одно, мощность библиотек - другое..

>Вообще с С/С++ неудачно сравнивать любые языки программирования. В конечном итоге библиотеки
>(в смысле скомпилированные) все равно либо написаны на С, либо совместимы
>с ним по вызовам, либо есть такие аналоги. Соответственно можно обратиться
>к нужной и выполнить нужные действия.

Ну и что? pavlinux уже справедливо указал выше на эквивалентность ЯП. Так можно и вообще спор свернуть)

>А по эффективности С/С++ уступают
>очень не многим языкам. И уж точно не уступают интерпретируемым.

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

>С/С++ вообще привилегированные языки с конца 60-х годов прошлого века. Причем они
>успели обрасти атавизмами и рудиментами, но привилегии остались.

Так и атавизмы с рудиментами тоже никуда не делись.. Впрочем, будущее С не кажется особо облачным. А вот С++ да, пора на свалку истории)

>Хотя общая идея правильная. Каждому ЯП свой фронт работ, не смотря на
>их широту, мощность и универсальность.

Консенсус)

Ответить | Правка | Наверх | Cообщить модератору

38. "Сколько языков программирования нужно выучить"  +/
Сообщение от Аноним (23), 20-Мрт-08, 19:50 
>Так и атавизмы с рудиментами тоже никуда не делись.. Впрочем, будущее С
>не кажется особо облачным. А вот С++ да, пора на свалку
>истории)

Глупости. Если говорить коротко, то С++ будучи не "самым-самым" в каждой отдельной номинации, является _оптимальным_ из языков _общего назначения_.

Бурное развитие простых скриптовых языков обусловлено стоимостью разработки: для их изучения требуется мало времени, следовательно много программёров и они дёшево стоят. Поэтому мы видим огромное количество проектов написанных на этих языках. На самом деле история повторяется: достаточно вспомнить Basic. Уж сколько народу его изучало, сколько программ было написано, ну и где он сейчас? ;-)

Ещё хороший пример: Python в версии 3.0 будет полностью изменён. Это говорит о несостоятельности его как ЯП. Если понадобилось всё менять, значит языковые конструкции были неудачными. С++ существуя вдвое больше времени, а дорабатывается совсем чуть-чуть. Имею в виду новый стандарт '09. А это потому, что нет в нём каких-то принципиально неудачных решений.

Согласен, есть языки, в которых те или иные вещи можно реализовать проще, изящнее, удобнее, эффективнее. Но если выбирать ЯП как универсальный инструмент разработки для _любой_ программы, тогда полноценной альтернативы С++ просто нет.

>>Хотя общая идея правильная. Каждому ЯП свой фронт работ, не смотря на
>>их широту, мощность и универсальность.

Узкая специализация нужна очень редко. Как правило в условиях жёстких ограничений. 99% случаев перекрывается выбором между ассемблером и С/С++.
Кстати, программы на С являются таковыми и на С++. Вас никто не заставляет применять везде ООП. В этом и прелесть С++ как _универсального_ языка.

Ответить | Правка | Наверх | Cообщить модератору

40. "Сколько языков программирования нужно выучить"  +/
Сообщение от thehangedmanemail (ok), 20-Мрт-08, 20:22 
>Бурное развитие простых скриптовых языков обусловлено стоимостью разработки: для их изучения требуется
>мало времени, следовательно много программёров и они дёшево стоят. Поэтому мы
>видим огромное количество проектов написанных на этих языках.

В то время как для изучения С++ требуется много времени, следовательно мало программеров и они дорого стоят. Поэтому мы видим огромное количество проектов, написанных на этом языке, и не видим логику в приведенной аргументации.

>Ещё хороший пример: Python в версии 3.0 будет полностью изменён. Это говорит
>о несостоятельности его как ЯП. Если понадобилось всё менять, значит языковые
>конструкции были неудачными.

Вы changelog видели? Там минимум изменений, нарушающих обратную совместимость. Вряд ли это можно назвать "все менять".

>С++ существуя вдвое больше времени, а дорабатывается совсем
>чуть-чуть. Имею в виду новый стандарт '09. А это потому, что
>нет в нём каких-то принципиально неудачных решений.

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

>Согласен, есть языки, в которых те или иные вещи можно реализовать проще,
>изящнее, удобнее, эффективнее. Но если выбирать ЯП как универсальный инструмент разработки
>для _любой_ программы, тогда полноценной альтернативы С++ просто нет.

А зачем нужен универсальный инструмент разработки для _любой_ программы? Серьезно, зачем? А уж искать альтернативу мне даже и не хочется.

>Как правило в условиях жёстких ограничений. 99%
>случаев перекрывается выбором между ассемблером и С/С++.

Чтоб далеко не ходить, сайты на чем писать рекомендуете, на С++ или на ассемблере? Если Вы имели в виду какой-то четко очерченный класс задач, то зря забыли об этом упомянуть.

>Кстати, программы на С являются таковыми и на С++. Вас никто не
>заставляет применять везде ООП. В этом и прелесть С++ как _универсального_
>языка.

Различия между С и С++ намного более широки. С - язык очень прямолинейный, он предоставляет разработчику ровно один удобный способ выполнить какое-либо действие (ну если макросами не злоупотреблять). Написание программ на С представляет собой по сути взаимно-однозначный перевод выбранного алгоритма в язык программирования. Это хороший язык для ограниченного, но все же весьма широкого класса задач. С++ - это язык с богатыми возможностями, реализация большинства из которых весьма неестественна. Это своего рода костыли для С, призванные расширить класс задач и методов их решения. Это инвалид, написание на котором хорошо читабельного и поддерживаемого кода возможно только с соблюдением огромного числа самоограничений, что для действительно хорошего языка - неприемлемо. Какое счастье, что сейчас полно альтернатив.

Ответить | Правка | Наверх | Cообщить модератору

49. "Сколько языков программирования нужно выучить"  +/
Сообщение от Аноним (23), 20-Мрт-08, 21:20 
>[оверквотинг удален]
>прямолинейный, он предоставляет разработчику ровно один удобный способ выполнить какое-либо действие
>(ну если макросами не злоупотреблять). Написание программ на С представляет собой
>по сути взаимно-однозначный перевод выбранного алгоритма в язык программирования. Это хороший
>язык для ограниченного, но все же весьма широкого класса задач. С++
>- это язык с богатыми возможностями, реализация большинства из которых весьма
>неестественна. Это своего рода костыли для С, призванные расширить класс задач
>и методов их решения. Это инвалид, написание на котором хорошо читабельного
>и поддерживаемого кода возможно только с соблюдением огромного числа самоограничений, что
>для действительно хорошего языка - неприемлемо. Какое счастье, что сейчас полно
>альтернатив.

Например, Pascal. По этим критериям:
>С - язык очень
>прямолинейный, он предоставляет разработчику ровно один удобный способ выполнить какое-либо действие
>(ну если макросами не злоупотреблять). Написание программ на С представляет собой
>по сути взаимно-однозначный перевод

выбранного алгоритма в язык программирования. Это хороший
>язык для ограниченного, но все же весьма широкого класса задач

он подходит на все 100 - бритва Оккама - наше всё).
Плюс к этому в нём есть почти всё, что есть в С++, только без излишеств.

Ответить | Правка | Наверх | Cообщить модератору

70. "Сколько языков программирования нужно выучить"  +/
Сообщение от Leshi (ok), 21-Мрт-08, 16:23 
>>Как правило в условиях жёстких ограничений. 99%
>>случаев перекрывается выбором между ассемблером и С/С++.
>
>Чтоб далеко не ходить, сайты на чем писать рекомендуете, на С++ или
>на ассемблере? Если Вы имели в виду какой-то четко очерченный класс
>задач, то зря забыли об этом упомянуть.

Смешно, наверно. НО!
Сейчас много сайтов пишется на С# и Java. Принцип их работы совсем отличается от работы сайтов на Perl/PHP и других а-ля CGI языков. Так вот, в свете последних тенденций, я решительно не вижу никакой разницы в написании сайтов на C# и на C++. Честно. Под С++ достаточно библиотек, которые можно использовать для не менее удобного написания сайтов, чем на C#. Правда есть одна проблема. Сайты нужно будет компилировать на сервере.

ЗЫ: Не поверите, в настоящий момент я в качестве исследовательской работы занимаюсь созданием CMS на C++. Правда времени на это мало :(

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

50. "Сколько языков программирования нужно выучить"  +/
Сообщение от Осторожный (?), 20-Мрт-08, 21:26 
>Кстати, программы на С являются таковыми и на С++. Вас никто не
>заставляет применять везде ООП. В этом и прелесть С++ как _универсального_
>языка.

Наглая ложь !
Не все программы на C являются программами на С++ !
Это знает любой, кто хоть чуть-чуть изучал C++

Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

68. "Сколько языков программирования нужно выучить"  +/
Сообщение от Leshi (ok), 21-Мрт-08, 16:08 
Педантично, но справедливо.
Хотя я все же отмечу, что для приведение программ написанных на С в соответствие со спецификациями С++ нужно крайне мало усилий. В частности (уж простите, наболело) для перевода с РНР4 на РНР5 требуется больше усилий.
Ответить | Правка | Наверх | Cообщить модератору

60. "Сколько языков программирования нужно выучить"  +/
Сообщение от Денисemail (??), 21-Мрт-08, 07:13 
>Ещё хороший пример: Python в версии 3.0 будет полностью изменён. Это говорит
>о несостоятельности его как ЯП. Если понадобилось всё менять, значит языковые
>конструкции были неудачными. С++ существуя вдвое больше времени, а дорабатывается совсем
>чуть-чуть. Имею в виду новый стандарт '09. А это потому, что
>нет в нём каких-то принципиально неудачных решений.

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

Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

69. "Сколько языков программирования нужно выучить"  +/
Сообщение от Leshi (ok), 21-Мрт-08, 16:17 
>>> Например, Perl - мощнее чем C для задач обработки строк
>Так мощность языка - одно, мощность библиотек - другое..

Не другое, а дополнительное. И вообще, ЯП должен уметь переменные, условные переходы и арифметические действия, остальное библиотеки. Вот например тот же С без библиотеки даже Hellow world! не напишет. И что? Это значит, что он ни на что не способен? На нем юникс написали...

>Ну и что? pavlinux уже справедливо указал выше на эквивалентность ЯП. Так
>можно и вообще спор свернуть)

+1

>>А по эффективности С/С++ уступают
>>очень не многим языкам. И уж точно не уступают интерпретируемым.
>А что тут имеется в виду под эффективностью? эффективность разработки или эффективность
>(скорость) исполнения? Если я правильно понял, что второе,

разумеется второе, моя вина, что непонятно сказал.

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

А вот это проблема человека, пишущего программу и никак к языку не относится :P

>А вот С++ да, пора на свалку
>истории)

К сожалению да. Пора. Перевелись люди, которые способны им эффективно пользоваться. Ну, почти перевелись.

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

72. "Сколько языков программирования нужно выучить"  +/
Сообщение от serg1224 (ok), 21-Мрт-08, 16:49 
>ЯП должен уметь переменные, условные переходы
>и арифметические действия, остальное библиотеки.

Извините, но "арифметические действия" - это тоже функции, которые могут быть в библиотеках. См. LISP, например.

>Вот например тот же С без
>библиотеки даже Hellow world! не напишет. И что? Это значит, что
>он ни на что не способен? На нем юникс написали...

Прикладные языки более высогоко уровня  таким путем вряд ли пойдут, аудитория другая.

>>А вот С++ да, пора на свалку
>>истории)
>
>К сожалению да. Пора. Перевелись люди, которые способны им эффективно пользоваться. Ну,
>почти перевелись.

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

Ответить | Правка | Наверх | Cообщить модератору

86. "Сколько языков программирования нужно выучить"  +/
Сообщение от nuclightemail (ok), 25-Мрт-08, 09:58 
>> Например, Perl - мощнее чем C для задач обработки строк
>
>имхо неудачный пример. libpcre, boost и еще многое, чего я даже не
>видел может нивелировать разницу в трудоемкости с увеличением разницы в производительности.

Иногда, на частных задачах. В случае проекта целиком выигрыш во времени написания будет существенен. Зачем мне писать час программу, которая будет работать 10 минут , если я могу за 5 минут набросать скрипт, который сделает это за полчаса?.. В подобных разовых задачах Перл незаменим.

>Вообще с С/С++ неудачно сравнивать любые языки программирования. В конечном итоге библиотеки
>(в смысле скомпилированные) все равно либо написаны на С, либо совместимы

Неверно. Существуют языки, написанные сами на себе, а не на Си. Например, среди компиляторов Лиспа таких хватает, cmucl к примеру. Более того, один из критериев состоятельности языка общего назначения - как раз способность написать на нем компилятор его же самого.

>с ним по вызовам, либо есть такие аналоги. Соответственно можно обратиться
>к нужной и выполнить нужные действия. А по эффективности С/С++ уступают
>очень не многим языкам. И уж точно не уступают интерпретируемым. С/С++
>вообще привилегированные языки с конца 60-х годов прошлого века. Причем они
>успели обрасти атавизмами и рудиментами, но привилегии остались.

"Интерпретируемый" Лисп при использовании вышеупомянутого cmucl на некоторых задачах может опережать по скорости Си++. Потому что может быть дана команда на компиляцию. А в остальное время имеем преимущетсва интерпретируемых языков. С Си++ такой фокус не прокатит.

Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру