Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2011, 18:50   #11
Руслантус
Наркоман самоучка
Форумчанин
 
Аватар для Руслантус
 
Регистрация: 22.07.2007
Сообщений: 276
По умолчанию

Советую посмотреть интересный доклад на эту тему: http://www.techdays.ru/videos/3707.html

Технологический выбор на клиентской стороне сегодня как никогда вызывает множество вопросов и мнений. В каких сценариях и в каких приложениях лучше использовать Native Code, .NET, Silverlight или HTML5 - все это будет обсуждать в этом докладе.
#include <мозг.h>
Руслантус вне форума Ответить с цитированием
Старый 28.10.2011, 19:13   #12
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

Пепел Феникса
Там описаны механизмы, которые присущи функциональным языкам, их там ещё почему-то обозвали парадигмами.

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

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

Цитата:
Рекурсия
Ну, в тех ооп языках, с которыми я сталкивался, она присутствует.

Все вышеперечисленные механизмы присутствуют и в не функциональных языках.
А особенности присущие объектно-ориентированным языкам, присутствуют и в функциональных языках. Те же классы есть и в лиспе и в F#.

Использование того или иного языка автоматически не делает программу написанной в том или ином стиле. Можно на с++ писать на си. Можно писать на с++ и создавать свои классы, но от этого программа не станет объектно ориентированной.

Вот с ооп всё чётко и ясно - основой объектно ориентированного стиля является создание объектной модели, которая состоит из абстракции, инкапсуляции, модульности и иерархии. А вот с тем, что является основой функционального стиля, как то всё более туманно.
the_deer_one вне форума Ответить с цитированием
Старый 29.10.2011, 13:53   #13
anyx
Форумчанин
 
Регистрация: 10.09.2009
Сообщений: 352
По умолчанию

Цитата:
Сообщение от the_deer_one Посмотреть сообщение
А вот с тем, что является основой функционального стиля, как то всё более туманно.
Необходимый минимум для функционального языка - наличие операций применения и конструирования функции и наличие функций высшего порядка. Всё это называется лямбда-исчисление, и оно является минимальным функциональным языком программирования

Цитата:
Сообщение от the_deer_one Посмотреть сообщение
Это можно делать и в си и в с++ и в си шарпе и в руби, во всех ооп языках, с которыми я сталкивался.
Си - нет, там нету объекта-функции
С++ - только начиная с версии С++11 (бывший С++0х)
C# - да, там есть лямбда-оператор
Ruby - ну так он функциональный!

Цитата:
Сообщение от the_deer_one Посмотреть сообщение
Ну, в тех ооп языках, с которыми я сталкивался, она присутствует.
В функциональном программировании рекурсия полностью заменяет циклы, а хвостовая рекурсия оптимизатором преобразуется в цикл

Последний раз редактировалось anyx; 29.10.2011 в 14:00.
anyx вне форума Ответить с цитированием
Старый 29.10.2011, 17:01   #14
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

anyx
Цитата:
Необходимый минимум для функционального языка - наличие операций применения и конструирования функции и наличие функций высшего порядка. Всё это называется лямбда-исчисление, и оно является минимальным функциональным языком программирования
Просто куча функций что ли? И в чем фишка этого подхода?

Цитата:
Си - нет, там нету объекта-функции
Функции там возвращать можно.
http://publications.gbdirect.co.uk/c..._pointers.html

Цитата:
С++ - только начиная с версии С++11 (бывший С++0х)
Там лямбду добавили, а запихивать функции в переменные и раньше можно было.

Цитата:
Ruby - ну так он функциональный!
Он оопшный, какой он нафих функциональный!? 0_0 И рекурсия там срывает стэк.
the_deer_one вне форума Ответить с цитированием
Старый 29.10.2011, 18:00   #15
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от the_deer_one Посмотреть сообщение
anyx

Просто куча функций что ли? И в чем фишка этого подхода?


Функции там возвращать можно.
http://publications.gbdirect.co.uk/c..._pointers.html


Там лямбду добавили, а запихивать функции в переменные и раньше можно было.


Он оопшный, какой он нафих функциональный!? 0_0 И рекурсия там срывает стэк.
Слушайте, развели тут, держите себя в руках. Честное слово, прочитали википедию (и то по наводке) и думаете разобрались? У меня ушло уйма времени на это, т.к. подход к программированию совершенно отличается, трудно перестроиться. Разберитесь сначала, а потом пишите.
BOBAH13 вне форума Ответить с цитированием
Старый 29.10.2011, 19:10   #16
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

дык помогите разобраться то
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.10.2011, 20:27   #17
grenles
минимакс
Участник клуба
 
Аватар для grenles
 
Регистрация: 11.06.2008
Сообщений: 1,143
По умолчанию

Собственно, как мне представляется

1. Все как и раньше - кто во что горазд и кому что ближе

2. Все больше уходит в мобильные технологии, думая, что там что-то новое, по
сути - там просто адаптация старых алгоритмов и подходов (ООП придумали не сейчас; основные наработки по языкам программирования тоже не сейчас, именно поэтому так просто "штампуют" разные клоны на базе С и прочее, ну и электроника).

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

4. Различные специальные приложения - медицина, железные дороги, ГЛОНАСС, телевидение и прочее.

По сути все только усложняется тем, что становится все больше и больше специализаций, которые не реально охватить. Реально новых прорывов мало.

Я прав? Что я забыл?
и это пройдет...
grenles вне форума Ответить с цитированием
Старый 29.10.2011, 20:37   #18
haruhi
Форумчанин
 
Аватар для haruhi
 
Регистрация: 05.10.2011
Сообщений: 368
По умолчанию

в системном ПО ничего не изменилось за последние 12-15 лет: сеть, система, драйвера и т.д. в web как уже было сказано всё сводится к FLASH и мобильному ПО. также в web всё постепенно вертится вокруг этих ваших вконтактиков, одноклассников и т.д.

в прикладном ПО только узкая специализация
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
haruhi вне форума Ответить с цитированием
Старый 30.10.2011, 04:59   #19
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Видимо я неверно выразился. Императивный и функциональный язык и их смесь. Ровно 2 минуты в гугл и ссылка по разжовыванию на примере пайтон
BOBAH13 вне форума Ответить с цитированием
Старый 30.10.2011, 10:05   #20
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Идут годы, а как приходилось писать свои велосипеды, так и приходится. Как добавлялись костыли для конкретной ОС, так и добавляются. СУБД так и не пришли к консенсусу и т.д. и т.п.
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что сегодня востребованнее на фрилансе (какие языки)? alex455 Свободное общение 7 31.05.2011 11:55
Выделить крайний справа нулевой бит (среда программирования FORTH) Наталья111 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 01.06.2010 09:40
какие языки программирования и базы использовать? кто выпил мое пиво Помощь студентам 1 24.01.2009 13:45
Какие языки программирования вы изучали? LAN Свободное общение 3 10.11.2007 11:18