powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Чтобы выбрать: Scala vs Android
25 сообщений из 413, страница 14 из 17
Чтобы выбрать: Scala vs Android
    #37432549
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraДобрый день, ZyK_BotaN!

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

В классических ФП языках очень бедный синтаксис.

Особенно в хаскеле- одно и то же выражение, встретившееся в разных
местах, означает разное
. Это что мне не понравилось (спасибо, кстати, за
статьи- почитал).


хм. не понял я вас. язык действительно прост, но что не так с синтаксисом?

вроде не лисп, для разных вещей - разный синтаксис.
для обхявления типво - свой
для создания\матчинга объектов - свой
для объявления ф-й - свой
для вызова ф-й - свой
для монад - свой

что там путать?
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37432554
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_Samara
Кроме того, многие бизнес-приложения очень завязаны на состояния- БД с
объектами. И половина бизнес-логики вне терминов этих состояний не
описывается. Так что в чистых ФП с этим будут проблемы.
А scala позволяет совмещать и то и то.

--
Алексей
JID: alxt@ya.ru


в любом не академическом языке программирования эта проблема решена, в том числе и в хаскеле.
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37432565
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, ZyK_BotaN!

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

Нет ключевых слов типа def class и т.п.
Очень не хватает. Может и привычка.

В scala каждый логический блок начинается со слова, который определяет
его тип. Как-то упрощает беглое чтение.

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37432852
zeehond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
моя сфера деятельности, которой уже примерно 12 лет посвящено - это в основном custom integration & development, склеивание существующих информационных систем и создание новых, для которых не подходят стандартные ERP/CRM решения

что касается существующих ERP/CRM систем и языков в их рамках - я достаточно много работал с SAP (в т.ч. в плане интеграции), думаю что и 1С и Axapta не являются революционными прорывами
они хорошо подходят, когда решаемые бизнесом задачи стандартны, или же можно подогнать бизнес под систему
если же нужна максимально эффективная реализация процесса без кучи всего стандартного-но-неиспользуемого - то есть custom development - это негибко, громоздко, поэтому дорого в написании, отладке, поддержке
не говоря уже о том, что апгрейд на следующую версию платформы - практически фукусима

поэтому с моей колокольни java на данный момент является наиболее подходящим инструментом для подобной работы, так как для неё наработана критическая масса стабильных фреймворков и утилит, как для самих приложений, так и для автоматизации процесса, а также best practices

но на java всё-таки весьма громоздко пишется бизнес-логика, и так как в рамках java не создать DSL - это как правило куча абсолютно нечитабельного кода, XML или же непостижимых уму циферек в куче таблиц
это одна из главных причин, почему я вижу scala в бизнес-девелопменте - на ней можно заморочиться сделать такую платформу для _конкретной_ бизнес-задачи (например автоматизация складских процессов), что код будет разделён на платформенный (невидимый разработчику бизнеhttp://www.indeed.com/trendgraph/jobgraph.png?q=Scalaс-кода) и _очень чистый_ бизнес-код
ну и кроме того, на scala можно писать и как на java, чистым ООП (если ещё не грокнул ФП), и использовать практически все фреймворки и утилиты от java

что касается других языков:

хаскель как чистый ФП язык весьма интересен, но в силу его академичности и оторванности от "производства" практически применяться может в гораздо меньшем количестве мест

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

поэтому в плане коммерческой востребованности scala уже взлетает и взлетит в достаточно ближайшем будущем - практически все светлые и неупёртые java-мозги ей сейчас в какой-то мере интересуются, и по мере "взросления" и нарабатывания best practices эффективность использование scala будет только нарастать

чтобы не быть совсем голословным





...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37432881
zeehond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, собственно, забыл добавить - построение и эксплуатация информационных систем это не только программирование, но ещё и операционный их аспект - сервера, платформы, деплоймент, мониторинг, и прочий ITIL

код, написанный на scala, может 100% использовать наработанное для java, те же сервера приложений, failover/load balancing и т.п.
поэтому для больших IT-инфраструктур переход от java к scala гораздо проще и содержит меньше рисков, нежели переход к haskell или erlang

бизнесу, для которого создаются информационные системы, как вы догадываетесь, глубоко пофигу, какой язык программирования используется
у него критерий один - бабло
если на разработку и поддержку системы на технологии X тратится меньше бабла чем на технологии Y при том же уровне качества - значит X лучше чем Y. конец дискуссии.
по этому параметру java выиграла у с++, и по этому же параметру scala выиграет у java
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37432887
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автори так как в рамках java не создать DSL - это как правило куча абсолютно нечитабельного кода

лови пример, чистая жаба:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
 int  labelsWidth= 150 ;
	layoutless
		.item( new  ComponentBox()
		    .component(jLabel1)
		    .width(labelsWidth)
		    .height( 22 )
		    .x( 0 )
		    .y( 8 + 25 * 0 )
		    )
		.item( new  ComponentBox()
		    .component(jTextField1)
		    .width(layoutless.width().minus(labelsWidth).minus( 16 ).minus( 50 ))
		    .height( 22 )
		    .x(labelsWidth+ 8 )
		    .y( 8 + 25 * 0 )
		    )
		.item( new  ComponentBox()
		    .component(jButton2)
		    .width( 49 )
		    .height( 21 )
		    .x(layoutless.width().minus( 58 ))
		    .y( 8 + 25 * 0 )
		    )
		.item( new  ComponentBox()
		    .component(jLabel2)
		    .width(labelsWidth)
		    .height( 22 )
		    .x( 0 )
		    .y( 8 + 25 * 1 )
		    )
		.item( new  ComponentBox()
		    .component(jTextField2)
		    .width(layoutless.width().minus(labelsWidth).minus( 16 ))
		    .height( 22 )
		    .x(labelsWidth+ 8 )
		    .y( 8 + 25 * 1 )
		    )
		.item( new  ComponentBox()
		    .component(jLabel3)
		    .width(labelsWidth)
		    .height( 22 )
		    .x( 0 )
		    .y( 8 + 25 * 2 )
		    )
		.item( new  ComponentBox()
		    .component(jPasswordField1)
		    .width(layoutless.width().minus(labelsWidth).minus( 16 ))
		    .height( 22 )
		    .x(labelsWidth+ 8 )
		    .y( 8 + 25 * 2 )
		    )
		.item( new  ComponentBox()
		    .component(jButton1)
		    .width( 90 )
		    .height( 27 )
		    .x(labelsWidth+ 8 )
		    .y(layoutless.height().minus( 40 ))
		    )
		.item( new  ComponentBox()
		    .component(iconLabel)
		    .width( 128 )
		    .height( 128 )
		    .x( 0 )
		    .y(layoutless.height().minus( 140 ))
		    )		
		;
	 this .add(layoutless, BorderLayout.CENTER);
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433096
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeehondесли на разработку и поддержку системы на технологии X тратится меньше бабла чем на технологии Y при том же уровне качества - значит X лучше чем Y. конец дискуссии.
по этому параметру java выиграла у с++, и по этому же параметру scala выиграет у javaполностью согласен с первым выводом. и наверняка для ваших задач scala выиграла у java. насчет того что scala "в среднем по миру" дешевле ... у меня не достаточно данных для такого вывода. =)
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433131
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_Samara
Нет ключевых слов типа def class и т.п.
Очень не хватает. Может и привычка.


есть.
для объявления типов - слово data
для объявления классов - слово class
для указания, что тип является инстантом класса - instance

и только для объявления ф-и нет ключевого слова def, но зачем оно? ни с чем другим объявление ф-и не перепутаешь.

f a b c = a + b + c - как это может иметь разную семантику? я явно ф-я.
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433135
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeehond,
вы не упомянули С#
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433367
zeehond
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoDAzeehondесли на разработку и поддержку системы на технологии X тратится меньше бабла чем на технологии Y при том же уровне качества - значит X лучше чем Y. конец дискуссии.
по этому параметру java выиграла у с++, и по этому же параметру scala выиграет у javaполностью согласен с первым выводом. и наверняка для ваших задач scala выиграла у java. насчет того что scala "в среднем по миру" дешевле ... у меня не достаточно данных для такого вывода. =)

у меня тоже нет данных, но есть определённое ощущение
поэтому я и употребил глагол "выиграть" в будущем времени

Petro123вы не упомянули С#

стек MS - это отдельная | параллельная вселенная
я в ней разбираюсь на уровне свиньи в цитрусовых, поэтому комментировать не берусь
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433569
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeehondPetro123вы не упомянули С#
стек MS - это отдельная | параллельная вселенная

+1
Ощущения вас не подводят :)
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433638
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, а как в мире Java отношение к JRuby, кто-то использует?
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433639
catamorphism
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
privateКстати, а как в мире Java отношение к JRuby, кто-то использует?

а зачемта оно нужно?
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433717
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
privateКстати, а как в мире Java отношение к JRuby, кто-то использует?
Я так думаю, что в основном как интерпретатор ruby-приложений. Использовать Ruby - учить новые библиотеки. При наличии Groovy с не менее богатами возможностями языка - смысла в изучение библиотек ruby нет.
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433849
ec2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024лови пример, чистая жаба: /* много нечитабельного кода */


Это по-вашему DSL?
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433926
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ec21024лови пример, чистая жаба: /* не очень много ясного и понятного кода */


Это по-вашему DSL?

http://en.wikipedia.org/wiki/Domain-specific_language

авторIn software development and domain engineering, a domain-specific language (DSL) is a programming language or specification language dedicated to a particular problem domain, a particular problem representation technique, and/or a particular solution technique. The concept isn't new—special-purpose programming languages and all kinds of modeling/specification languages have always existed, but the term has become more popular due to the rise of domain-specific modeling.

Examples of domain-specific languages include HTML, Logo for children, Verilog and VHSIC hardware description languages, R and S languages for statistics, Mata for matrix programming, Mathematica and Maxima for symbolic mathematics, spreadsheet formulas and macros, SQL for relational database queries, YACC grammars for creating parsers, regular expressions for specifying lexers, the Generic Eclipse Modeling System for creating diagramming languages, Csound for sound and music synthesis, and the input languages of GraphViz and GrGen, software packages used for graph layout and graph rewriting.

есть сходство с описанием элементов в HTML или запросов в SQL. Но это чистая жаба, хотя и в стиле DSL.
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433943
ec2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024,

Я говорю о том, что на джаве не получится сделать красиво .

Смотите, например, руби:

Код: plaintext
1.
2.
3.
4.
desc 'Restart Application'
task :restart, :roles => :app do
  run "touch tmp/restart"
end

Это обычный руби-код, который выглядит как язык конфигурирования.
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433949
ec2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ec2,

Вот джава и возможная реализация на руби:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
.item(new ComponentBox()
		    .component(jLabel1)
		    .width(labelsWidth)
		    .height( 22 )
		    .x( 0 )
		    .y( 8 + 25 * 0 )
		    )

item do
  component jLabel1
  width        labelsWidth
  height        22 
  x               0 
  y               8  +  25  *  0 
end
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433964
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ec2ec2,

Вот джава и возможная реализация на руби:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
.item(new ComponentBox()
		    .component(jLabel1)
		    .width(labelsWidth)
		    .height( 22 )
		    .x( 0 )
		    .y( 8 + 25 * 0 )
		    )

item do
  component jLabel1
  width        labelsWidth
  height        22 
  x               0 
  y               8  +  25  *  0 
end


попробуй сделать как на скриншоте (несколько полей с кнопками, поведение как на скриншоте) и тогда сравним.

чёт незаметно что первый кусок менее красив чем второй.
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433968
ec2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37433974
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ec21024,

http://shoesrb.com/manual/Hello.html

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

А раз так то и сравнивать нечего.
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37434045
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ec21024лови пример, чистая жаба: /* много нечитабельного кода */


Это по-вашему DSL?

ну, на жабе дсл-и делаются именно так
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37434048
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ec21024,

Я говорю о том, что на джаве не получится сделать красиво .

Смотите, например, руби:

Код: plaintext
1.
2.
3.
4.
desc 'Restart Application'
task :restart, :roles => :app do
  run "touch tmp/restart"
end

Это обычный руби-код, который выглядит как язык конфигурирования.

а че такое красиво?
в дсл-е главное семантика. на синтаксис нормальным людям пох.
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37434049
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ec2ec2,

Вот джава и возможная реализация на руби:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
.item(new ComponentBox()
		    .component(jLabel1)
		    .width(labelsWidth)
		    .height( 22 )
		    .x( 0 )
		    .y( 8 + 25 * 0 )
		    )

item do
  component jLabel1
  width        labelsWidth
  height        22 
  x               0 
  y               8  +  25  *  0 
end


ну и какая разница? зачем тогда платить больше
...
Рейтинг: 0 / 0
Чтобы выбрать: Scala vs Android
    #37434051
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024ec21024,

http://shoesrb.com/manual/Hello.html

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

А раз так то и сравнивать нечего.

тут согласен. жабка явна не заточена под едсл-и. тут лисп нужен, да.
...
Рейтинг: 0 / 0
25 сообщений из 413, страница 14 из 17
Форумы / Android [игнор отключен] [закрыт для гостей] / Чтобы выбрать: Scala vs Android
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]