Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему так не любят Delphi? 
:(
    Опции темы
serger
Дата 18.4.2013, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 0
Всего: 5



Цитата(Akella @  18.4.2013,  12:46 Найти цитируемый пост)
Тем не менее для Delphi сейчас есть неплохой выбор экспертов (настроек) в том числе и бесплатных. 

Темы чёй-ли?


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
Akella
Дата 18.4.2013, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 1
Всего: 329



Вопрос не понят.
PM MAIL   Вверх
k0rvin
Дата 18.4.2013, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(diadiavova @  18.4.2013,  10:19 Найти цитируемый пост)
Например тот же подсчет элементов коллекции можно реализовать и так

Но зачем, если можно так
Код

len = foldl (\x _ -> x + 1) 0

?


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
diadiavova
Дата 18.4.2013, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 4
Всего: 142



Цитата(k0rvin @  18.4.2013,  13:49 Найти цитируемый пост)
Но зачем, если можно так

Да я не об этом говорю. В F# возможен императивный код и в тех случаях, когда он нужен там это доступно. А готовые функции есть везде.
Код

let result = List.sum [1;2;3;4;5]


Добавлено через 2 минуты и 11 секунд
Кстати я сумму чисел в списке считал, а не количество элементов, но суть не в этом smile

Добавлено через 6 минут и 40 секунд
Цитата(serger @  18.4.2013,  12:26 Найти цитируемый пост)
diadiavova, да на всех языках что-то близкое получается )

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


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Beltar
Дата 18.4.2013, 13:14 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 2
Всего: 7



Цитата

Тем не менее для Delphi сейчас есть неплохой выбор экспертов (настроек) в том числе и бесплатных.


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

LSD тоже думает, что для Delphi ничего нет, а я буду так же думать, что для Java ничего нет. Я с ней не работаю, и все либы и инструменты к ней для меня не существуют. И вообще я всего одного живого программиста на жабе видел и то женского пола, может их и не существует почти?  smile 

Смех смехом, но обвиняя Delphi в компоненто-на-форму-кидательстве почему-то не думают, что такое обилие компонентов как раз свидетельствует об исключительно мощной и удобной объектной модели Object Pascal'я, и создавали все это богатство явно не тупые быдлокодеры.

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


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
k0rvin
Дата 18.4.2013, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(diadiavova @  18.4.2013,  12:55 Найти цитируемый пост)
В F# возможен императивный код и в тех случаях, когда он нужен там это доступно.


А ну так то и в Хаскелле можно, хоть и чуть мудреней, да:
Код

import Data.STRef
import Control.Monad
import Control.Monad.ST
 
len xs = runST $ do
        n <- newSTRef 0
        forM_ xs $ \_ -> do modifySTRef n (+ 1)
        readSTRef n


Добавлено через 1 минуту и 22 секунды
Цитата(Beltar @  18.4.2013,  13:14 Найти цитируемый пост)
опытный функциональщик легко решает несуществующие в императивных языках проблемы.

О каких проблемах речь?

Добавлено через 3 минуты и 57 секунд
Цитата(Beltar @  18.4.2013,  13:14 Найти цитируемый пост)
свидетельствует об исключительно мощной и удобной объектной модели Object Pascal'я

"Access violation"-ы о ней хорошо свидетельствуют, да.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
diadiavova
Дата 18.4.2013, 13:58 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 4
Всего: 142



Цитата(Beltar @  18.4.2013,  14:14 Найти цитируемый пост)
Дядь Вова, а тебе я скажу, что опытный функциональщик легко решает несуществующие в императивных языках проблемы.  

В каких-то вопросах так оно и есть, а в других он легко решает вопросы, которые императивщик решает через ж... Мне, например, нравится как на базе F# можно реализовывать DSL-s
http://habrahabr.ru/post/68313/
или вот еще пример
http://fwaris.wordpress.com/2011/12/21/a-s...uery-and-xpath/
Или к примеру взять тот же пресловутый linq, в F# встроенная поддержка запросов появилась только в последней версии, но когда ее еще не было, в одной книге я видел пример того, как достаточно просто можно реализовать поддержку запросов средствами языка и синтаксис даже похожий получился, благодаря использованию конвейера.
Да и других приятностей там тоже хватает. Лаконичность изложения при решении многих задач тоже впечатляет. Взять к примеру быструю сортировку
http://ru.wikipedia.org/wiki/Quicksort
Там примеры на нескольких языках, последний на эрланге. Вот пример на F#(нашел в сети)
Код

let rec quicksort = function
  [] -> []
  | h::t -> quicksort ([ for x in t when x<=h -> x]) 
            @ [h] @ quicksort ([ for x in t when x>h -> x]);;
Где-то видел на хаскеле, там пара строк всего.
Я не сторонник перехода к функциональщине полностью, но вот использование фя на мультиязычной платформе, во взаимодействии с другими языками мне нравится.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
SKrivosein
Дата 18.4.2013, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Идущий в даль
**


Профиль
Группа: Участник
Сообщений: 271
Регистрация: 9.6.2007
Где: Praha - Прага

Репутация: нет
Всего: 8



diadiavova убидительно! Ушел учить F#  smile 


--------------------
Оптимист - это плохо информированный человек.
user posted image

PM MAIL   Вверх
Zloxa
Дата 18.4.2013, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(diadiavova @  18.4.2013,  14:58 Найти цитируемый пост)
использование фя на мультиязычной платформе, во взаимодействии с другими языками мне нравится. 

Таки нравится != нужно.

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

Это сообщение отредактировал(а) Zloxa - 18.4.2013, 15:08


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Beltar
Дата 18.4.2013, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 2
Всего: 7



Цитата

О каких проблемах речь?


Вы же обсуждали рекурсивный разбор списка в функционалах, который делается в 2 строчки в императивных языках. И надо сказать, что работа со списками, это основное занятие программиста, найти что-то в списке, обработать каждый элемент и т. д. Независимо от предметной области, список кортежей в наборе данных, список юнитов в игре. Массив=список.

Цитата

"Access violation"-ы о ней хорошо свидетельствуют, да.


Что-то мне подсказывает, что по сравнению с плюсами ошибки при работе с памятью в Паскале бывают во много раз реже. Конечно, есть языки с GC, в том числе и нативные вроде того же Оберона, но это в принципе исключает предсказуемость времени выполнения.
О чем свидетельствуют многочисленные ошибки в написанных не на Delphi программах разной степени сложности, я говорить не буду.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
LSD
Дата 18.4.2013, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(Beltar @  18.4.2013,  16:02 Найти цитируемый пост)
 но это в принципе исключает предсказуемость времени выполнения

А типа дельфи дает предсказуемое время выполнения? smile 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Beltar
Дата 18.4.2013, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 2
Всего: 7



Цитата

Мне, например, нравится как на базе F# можно реализовывать DSL-s
http://habrahabr.ru/post/68313/


Стоп-стоп-стоп, я маленько не догоняю, предполагается, что человек, не умеющий программировать, будет писать на F#?

Добавлено @ 15:30
Цитата

А типа дельфи дает предсказуемое время выполнения? 


Ровно настолько же предсказуемое, насколько у других императивных языков. А вообще, если ты знаком с понятием системы реального времени, то это для тебя должно быть очевидно. То, что Windows не ОСРВ я как бы тоже знаю, однако мы о языке, как таковом говорим.

Это сообщение отредактировал(а) Beltar - 18.4.2013, 15:31


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
LSD
Дата 18.4.2013, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(Beltar @  18.4.2013,  16:25 Найти цитируемый пост)
Ровно настолько же предсказуемое, насколько у других императивных языков. А вообще, если ты знаком с понятием системы реального времени, то это для тебя должно быть очевидно.

Ты сам-то понял что написал? smile


Цитата(Beltar @  18.4.2013,  16:25 Найти цитируемый пост)
То, что Windows не ОСРВ я как бы тоже знаю, однако мы о языке, как таковом говорим.

Ну как бы для hard realtime это требование №1. А в требования для soft realtime и языки с GC укладываются (при определенных усилиях).


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Akella
Дата 18.4.2013, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 1
Всего: 329



Цитата(diadiavova @  18.4.2013,  13:58 Найти цитируемый пост)
[] -> []
  | h::t -> q


Brainfuck?
PM MAIL   Вверх
k0rvin
Дата 18.4.2013, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(Beltar @  18.4.2013,  15:02 Найти цитируемый пост)
Вы же обсуждали рекурсивный разбор списка в функционалах, который делается в 2 строчки в императивных языках.

И где ты проблему увидел?


Цитата(Beltar @  18.4.2013,  15:02 Найти цитируемый пост)
Конечно, есть языки с GC, в том числе и нативные вроде того же Оберона, но это в принципе исключает предсказуемость времени выполнения.

Цитата(Beltar @  18.4.2013,  15:25 Найти цитируемый пост)
А вообще, если ты знаком с понятием системы реального времени, то это для тебя должно быть очевидно.

Тынц.

Цитата(Beltar @  18.4.2013,  15:25 Найти цитируемый пост)
Ровно настолько же предсказуемое, насколько у других императивных языков.

Т.е. настолько же, насколько и у Java, C#, Python, Common Lisp?

Добавлено через 1 минуту и 7 секунд
Цитата(Akella @  18.4.2013,  15:54 Найти цитируемый пост)
Brainfuck? 

Pattern matching.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1361 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.