AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.12.2015, 09:36   #41  
AP-1055D is offline
AP-1055D
Участник
 
351 / 92 (4) ++++
Регистрация: 01.06.2011
Цитата:
Сообщение от belugin Посмотреть сообщение
Не знал. Чт просто знаю, что в winphone все API переданы на асинхронныет чтобы меньше нагружали и были responsive.

А это именно свойство языка? Т.е. Где то в языке есть такая семантика, что нельзя много потоков или просто текущий рантайм такой?
Это концепция языка.
Старый 18.12.2015, 09:51   #42  
AP-1055D is offline
AP-1055D
Участник
 
351 / 92 (4) ++++
Регистрация: 01.06.2011
Цитата:
Сообщение от belugin Посмотреть сообщение
Из Википедии

Pure functional programming completely prevents side-effects and provides referential transparency, which makes it easier to verify, optimize, and parallelize programs, and easier to write automated tools to perform those tasks.

См также plinq
Я согласен с вами, и вы привели цитату, но параллелизм это следствие, а не цель. Это следствие (параллелизм) появляется в результате того, что мы оперируем чистыми функциями, результат которых зависит только от аргумента и ни от чего более. Следовательно, такие функции можно выполнять параллельно. Но это именно следствие. Основная цель, насколько я это помню из курса лекций и насколько понимаю сам, сделать код максимально модульным, так что, зная результат функции от аргумента можно было бы использовать этот результат независимо от других функций. Так, действительно, можно ввести параллельные вычисления.
Старый 18.12.2015, 10:26   #43  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Сообщение от mazzy Посмотреть сообщение
ты назвал F# практическим )
Вполне себе. У нас есть уже несколько проектов, реализованных на F#.
Как правило, это backend реализованный в виде веб-сервисов. Впечатления самые положительные.

В общем то, когда все вокруг уже на .net - выбор не очень большой. Если бы была JVM - я бы выбрал, кстати, Clojure.
За это сообщение автора поблагодарили: belugin (4).
Старый 18.12.2015, 11:20   #44  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от AP-1055D Посмотреть сообщение
Основная цель, насколько я это помню из курса лекций и насколько понимаю сам, сделать код максимально модульным
Цель чего? Изобретения ФП? Введения в какой-то язык? Использования в конкретном применении?
Старый 19.12.2015, 10:02   #45  
AP-1055D is offline
AP-1055D
Участник
 
351 / 92 (4) ++++
Регистрация: 01.06.2011
Цитата:
Сообщение от belugin Посмотреть сообщение
Цель чего? Изобретения ФП? Введения в какой-то язык? Использования в конкретном применении?
Цель функционального программирования.
Старый 21.12.2015, 10:42   #46  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Цитата:
Сообщение от AP-1055D Посмотреть сообщение
Дело в том, что JavaScript это однопоточный язык
Цитата:
Сообщение от belugin Посмотреть сообщение
Не знал.
Цитата:
Сообщение от mazzy Посмотреть сообщение
параллельная обработка - ой как нужна в ERP
Ура! Дошел мой анекдот с первой страницы!!

С Уважением,
Георгий
За это сообщение автора поблагодарили: Lemming (3).
Старый 21.12.2015, 10:55   #47  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от George Nordic Посмотреть сообщение
Ура! Дошел мой анекдот с первой страницы!!
1) Introduction to HTML5 Web Workers: The JavaScript Multi-threading Approach

2) Если ты читаешь не только последнее сообщение, но и контекст, то обнаружишь, что состоялся примерно такой диалог:

- Смотрите, что за говнокод надо писать в W10 на JS
- Это, навреное, из за асинхронности
- Нет, это потому, что js однопоточный

Т.е. однопоточность в данной ветке обсуждения - нежелательный фактор, приводящий к говнокоду.
Старый 21.12.2015, 15:06   #48  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Максим, я читаю контектст, который был перед моим сообщением, и я добавил новый не просто так (но и для фана, конечно). Я повидал много интересных начинаний, но все сводится к нескольким:
* Узкоспециализированные языки, решающие определенный класс задач (NoSQL, R)
* Абстрактные "кони в ваккуме" - прекрасные языки, но непонятно как их использовать на практике (например Lisp и Smalltalk - это концептуальные языки, и из них надергли идей при развитии более распространенных прикладных средств)
* Форки, которые позволяют хоть как-то облегчить жизнь явистам и / или разработчикам мобильных приложений (зачастую компилируют код в ту же Java)
* "Новые быстрые" (зачастую функциоанальные) средства разработки, которые могут снизить планку входа профессию. Зачастую применяются на массовых технологиях, сиречь Web-разработка. Вот здесь обычно "сначала сделали, а потом начали думать над производительностью", зачастую при старте у них нет многопоточности, и она добавляется очень тяжело. VBA и JS надо приводить в пример? Я очень обрадовался, что всего через несколько страниц коллеги пришли к этой идее, мне было приятно что я угадал с направлением развития дискуссии.

С Уважением,
Георгий
Старый 21.12.2015, 15:18   #49  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от George Nordic Посмотреть сообщение
* Абстрактные "кони в ваккуме" - прекрасные языки, но непонятно как их использовать на практике (например Lisp и Smalltalk - это концептуальные языки, и из них надергли идей при развитии более распространенных прикладных средств)
ИМХО на лиспе дохренища всего писали пока не появились более привычные высокоуровневые языки (вспомним хотя бы AutoLisp и Emacs Lisp).

Смолток тоже был популярен пока не был задавлен Джавой (его IBM весьма окучивал).



Цитата:
* "Новые быстрые" (зачастую функциоанальные) средства разработки, которые могут снизить планку входа профессию. Зачастую применяются на массовых технологиях, сиречь Web-разработка. Вот здесь обычно "сначала сделали, а потом начали думать над производительностью", зачастую при старте у них нет многопоточности, и она добавляется очень тяжело. VBA и JS надо приводить в пример? Я очень обрадовался, что всего через несколько страниц коллеги пришли к этой идее, мне было приятно что я угадал с направлением развития дискуссии.
Вот эта мысль из рассказанного анекдота для меня не следует. Кстати, я так и не услышал какие особенности JS как языка (не рантайма) делают его однопоточным.
Старый 24.12.2015, 07:01   #50  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
F# - пример использования type providers - анализ фильмов про Джеймса Бонда по данным википедии

.
За это сообщение автора поблагодарили: S.Kuskov (2).
Старый 24.12.2015, 07:39   #51  
AP-1055D is offline
AP-1055D
Участник
 
351 / 92 (4) ++++
Регистрация: 01.06.2011
Цитата:
Сообщение от belugin Посмотреть сообщение
Кстати, я так и не услышал какие особенности JS как языка (не рантайма) делают его однопоточным.
Я не эксперт по JavaScript так как занимаюсь им чуть более года.

Возможно, вам будет интересно прочесть этот ответ:

Цитата:
1. Потому, что разработчики браузеров и скриптовых машин (Rhino, SpiderMonkey) так создали свои программные продукты.

2. Потому, что составители спецификации ECMAScript описали этот язык как однопоточный.

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

4а. Потому что этот язык изначально был придуман и введён компанией Netscape для браузера Netscape Navigator в эпоху "браузерных войн" в качестве конкурентного преимущества перед компанией Microsoft и на тот момент развитие языка HTML было таковым, что коммерческие интересы Netscape диктовали этой компании постановку именно таких задач перед этим языком. Более сложные задачи перед разработчивами сайтов при том уровне развития интернета просто не стояли и. если бы была введена многопоточность, это выглядело бы излишним утяжелением этого языка.

4б. Потому, что понадобилось бы обеспечивать thread-safe`овость DOM-дерева и большинства объектов объектной модели. Так же необходимо было бы предоставлять возможность синхронизовывать функции и/или блоки, критичные к многотредовому использованию, придумывать или брать из других более сложных языков механизмы разруливания конфликтов за ресурсы и прочее и прочее. Кроме того, введение этого механизма сильно ослабило бы надёжность JS-машин и на порядки усложнило бы их реализацию без какого-либо существенного выигрыша для тех задач, которые традиционно решаются на этом языке.

4в. Хотя бы потому, что многочисленные методы DOM-модели, которые активно использует колоссальное количество сценариев, стали бы работать по-другому, с задержками. Ряд методов наверняка пришлось бы убирать, другие - вводить. Не надо ещё забывать "особую точку зрения на стандарты" компании Microsoft, которая бы наверняка не упустила бы лишнего шанса устроить очередную гадость несчастным скрипт-кодерам, старающимся писать кросс-браузерные скрипты, сделав свою реализацию многопоточности в JScript частично или даже полностью неcовместимой с ECMA. Всё это привело бы к колоссальной путанице.
За это сообщение автора поблагодарили: George Nordic (2), belugin (2).
Старый 24.12.2015, 07:43   #52  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от AP-1055D Посмотреть сообщение
Я не эксперт по JavaScript так как занимаюсь им чуть более года.

Возможно, вам будет интересно прочесть этот ответ:
Спасибо, там есть также такое мнение

Цитата:
JavaScript сам по себе не является ни однопоточным, ни много поточным.

Все зависит от реализации.

Браузерная реализация JavaScript, действительно, является однопоточной.

Но, например, реализация, на платформе Mozilla Rhino позволяет создавать многопоточность, использую стандартную работу с потоками в JVM.
Старый 24.12.2015, 09:51   #53  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Вот поэтому я и написал "при старте" однопоточные, а потом допиливают:
Цитата:
Сообщение от George Nordic Посмотреть сообщение
* "Новые быстрые" (зачастую функциоанальные) средства разработки, которые могут снизить планку входа профессию. Зачастую применяются на массовых технологиях, сиречь Web-разработка. Вот здесь обычно "сначала сделали, а потом начали думать над производительностью", зачастую при старте у них нет многопоточности, и она добавляется очень тяжело. VBA и JS надо приводить в пример?
Где я ошибся?

С Уважением,
Георгий
Старый 24.12.2015, 10:08   #54  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от George Nordic Посмотреть сообщение
Вот поэтому я и написал "при старте" однопоточные, а потом допиливают:

Где я ошибся?
Я не говорил, что ты где-то ошибся, просто анекдот понял по-другому.

Следует отличать язык от рантайма и от стандартной библиотеки. Пример универсального приложения под WIn10 на JS не показывает недостатков самого языка а только библиотеки. И то, вероятно, так сделано, чтобы было совместимо/переносимо на/с других платформ.

Последний раз редактировалось belugin; 24.12.2015 в 11:04.
Старый 06.08.2016, 01:13   #55  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Lightbulb
Вернувшись к изначальной теме - написал простенький движок блога. Писать очень приятно, за весь проект нет ни единого использования модификатора var. Из функционального программирования задействовал пару раз foldRight. Так же очень приятно и быстро получается писать на одних функциях, классы использовались только для моделей. В общем, Kotlin очень приятный язык и я внимательно слежу за его развитием.
За это сообщение автора поблагодарили: mazzy (2).
Старый 12.08.2016, 19:31   #56  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Thumbs up
Я просто не могу не поделиться, какие классные штуки можно делать на Kotlin. Это iDSL для тестирования!
За это сообщение автора поблагодарили: mazzy (2).
Старый 23.08.2016, 20:38   #57  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от Lemming Посмотреть сообщение
Вернувшись к изначальной теме - написал простенький движок блога. Писать очень приятно, за весь проект нет ни единого использования модификатора var. Из функционального программирования задействовал пару раз foldRight. Так же очень приятно и быстро получается писать на одних функциях, классы использовались только для моделей. В общем, Kotlin очень приятный язык и я внимательно слежу за его развитием.
Удобное кресло и кондиционер важнее.
Это как сахар в кружку класть в кафе в городе.
Синтаксис - это сахар. А ещё есть куда кладём, где сидим и где находимся.
PHP, Python, JavaScript - вот оно настоящее уличное, без сахарного камерного гламура.
Старый 23.08.2016, 21:50   #58  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Lack of polymorphism
http://www.natpryce.com/articles/000815.html

Exactly how happy we’ve been with Kotlin has depended on the design style of the code we’re writing:

For functional programming, Kotlin has occasionally been frustrating, because we cannot use parametric polymorphism to factor out duplicated logic as much as we’d like.

For object-oriented programming, Kotlin’s concise syntax for class definitions and language support for delegation avoids a lot of Java’s boilerplate.
Теги
f#, kotlin

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Боюсь, что при текущем подходе AX 10 лет у нас не проживет. Ark Курилка 18 29.09.2016 10:17
С вечера пятницы до вечера воскресенья (с 8.10 по 10.10) форум будет недоступен в связи с переездом на новый хостинг. mazzy Информация для участников 0 07.10.2010 21:11
10 минутная готовность: встречаем момент времени 12:34:56 07.08.09 Gustav Детская 8 07.08.2009 14:35
Встреча питерских аксаптеров 31.10.2008 fed Курилка 2 30.10.2008 13:09

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:05.