powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Java или Python
25 сообщений из 157, страница 5 из 7
Java или Python
    #35977658
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Java или Python
    #35978482
daevaorn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
privateВ Райлс гораздо лаконичней и понятней :).
Хм... Для ненатуралов наверно;-)
...
Рейтинг: 0 / 0
Java или Python
    #35979256
9h0lms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Диез,
Да но вот плюс то в чем, дублировать то что уже есть. И вроде кроме твитер некто не интересуетсв Скала.скала и не дублирует то что уже есть, зачем бы тогда она была бы нужна?
Я просто не пойму в чем плюс еще одного созданого языка, что он пренес.А в чем плюс питона над ассемблером, что он принес?
Скала пытается еще ближе приблизить программирование к математике, к функциональному подходу, не отбрасывая старые добрые императивный и объектно-ориентированные стили.
...
Рейтинг: 0 / 0
Java или Python
    #35979266
9holms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ParadoxxXDiaBLo,

Ну вот как раз если это всего лишь синтаксис, так какой резон менят один синтаксис на другой ?Ну, вот сравнение синтаксисов, а вот http://scala-blogs.org/2008/09/scalable-language-and-scalable.html наглядный пример как более компактный синтаксис упрощает написание программы путем уменьшения бойлерплейт (как это вообще по рюсски?) кода.

И где-то был туториал по работе с XML в скала, небо и земля в сравнении с аналогичными кусками обработки на Java. Весь пинцет в том, сколько за более короткий и компактный синтаксис потом придется платить в циклах процессора, ведь например Pythot|Ruby|Groovy в десятки-сотни раз медленнее чем C|Java|C#. Вот разрабы скалы и пытаются, оставаясь быстрыми, стать компактными.

http://gzip.rsdn.ru/forum/message/3378231.1.aspx

И чего всё о скала, да о скала, давайте уже о скале отдельную ветку, а тут про питон будем писать.
...
Рейтинг: 0 / 0
Java или Python
    #35979273
9h0lms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ParadoxxА у Скала как я вижу своих либов пока нету ....
Зато у Скала есть operator overloading и properties :)Нуда, своих либов нету. Зато есть либа по работе с XML: http://metacircular.wordpress.com/2007/02/04/scala-makes-xml-processing-easy/ http://burak.emir.googlepages.com/scalaxbook.docbk.html
...
Рейтинг: 0 / 0
Java или Python
    #35979307
Фотография Paradoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9h0lms,

На одном XML далеко не пойти... а так придется пользоваться тем что уже на Java...
Но я думаю время еще покажет как будет развиваться Scala.
...
Рейтинг: 0 / 0
Java или Python
    #35980572
Фотография Frenzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем свои либы, если есть уже качественные, отлаженные и проверенные временем жава-библиотеки? - это возвращаясь к вопросу о том, зачем писать то что уже есть. у явы нет проблем с платформой/библиотеками. проблемой некоторые считают не особо фичастый язык - вот только эту проблему скала и пытается решать.

_______________________________________
2pro4U
...
Рейтинг: 0 / 0
Java или Python
    #35980605
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frenzyа зачем свои либы, если есть уже качественные, отлаженные и проверенные временем жава-библиотеки? - это возвращаясь к вопросу о том, зачем писать то что уже есть. у явы нет проблем с платформой/библиотеками. проблемой некоторые считают не особо фичастый язык - вот только эту проблему скала и пытается решать.

_______________________________________
2pro4U
А что, реально Скала достойна внимания? Стоит глянуть?
...
Рейтинг: 0 / 0
Java или Python
    #35980704
Фотография Paradoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frenzy,

Да конечно если есть готовые либы так почему не пользоваться.
Но думаю если Scala будет развиваться, то свои либы будут со временем.
...
Рейтинг: 0 / 0
Java или Python
    #35980712
Фотография Paradoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoА что, реально Скала достойна внимания? Стоит глянуть?

Ну как раз можете посмотреть и поделиться мнением.
Про то и обсуждаем :)
...
Рейтинг: 0 / 0
Java или Python
    #35980761
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ParadoxxFrenzy,

Да конечно если есть готовые либы так почему не пользоваться.
Но думаю если Scala будет развиваться, то свои либы будут со временем.
А в чём будет их уникальность? Портабельность между дотнетом и жабой чтоль?
...
Рейтинг: 0 / 0
Java или Python
    #35980808
Фотография Paradoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLo,

Я бы больше отметил расширение способностей языка по сравнению с Java.
Можно сказать некий "Extended Java" в плане языка.

А .NET я думаю особо там роли не будет играть...
...
Рейтинг: 0 / 0
Java или Python
    #35980812
private
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь описана архитектура твиттер, на русском, с с производительностью руби проблем нет, замена его на другое решение дало бы всего 20-30% +.
http://www.insight-it.ru/net/scalability/arkhitektura-twitter/
...
Рейтинг: 0 / 0
Java или Python
    #35980816
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoParadoxxFrenzy,

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

По видимости, это будут надстройки над имеющимися Java-библиотеками
Разработчики обещают сделать вот такую фишку, например:

http://scala.sygneca.com/libs/dbc

Внутри, конечно, тот же JDBC, но выглядит красиво. Ждем-с...
...
Рейтинг: 0 / 0
Java или Python
    #35980866
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
privateЗдесь описана архитектура твиттер, на русском, с с производительностью руби проблем нет, замена его на другое решение дало бы всего 20-30% +.
http://www.insight-it.ru/net/scalability/arkhitektura-twitter/

Статье уже год; а переход на Скалу был в начале 2009-го.

Наверное разработчики все-таки столкнулись с проблемами. Вряд ли кто-то будет переписывать компоненты боевой системы без надобности.
...
Рейтинг: 0 / 0
Java или Python
    #35980953
Фотография Frenzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ParadoxxFrenzy,

Да конечно если есть готовые либы так почему не пользоваться.
Но думаю если Scala будет развиваться, то свои либы будут со временем.

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

насчёт своих либов, кое-что своё появится, скорее всего обёртки вокруг каких-нибудь существующих жава-либов, но в более scala-стиле, потому что так кому-то удобнее. сейчас уже например есть Lift - мвц веб-фреймворк на Scala. т.е. в любом случае то что для такого языка нет *своих* библиотек - это не минус, а скорее плюс.

XDiaBLo
А что, реально Скала достойна внимания? Стоит глянуть?


посмотреть в любом случае стоит, но своё мнение я уже озвучивал - я особо восторгов не понимаю вокруг Scala. это не динамический язык вроде Python или Ruby - т.е. такой мощи и открытости там нет, а синтаксические плюшки скалы мне не нужны - ява устраивает, написать чуть больше кода мне не лом учитывая насколько развиты IDE для жавы, зато строгий, понятный, проверенный временем.

т.е. вечная тема вот в с# есть фича-Х, а в яве нет. просто в яве оно особо никому не нужно, зато работают те проги которые писались 10 лет назад. а для тех кому все-таки нужно теперь есть Scala :)

XDiaBLoА в чём будет их уникальность? Портабельность между дотнетом и жабой чтоль?

скала к дотнету никакого отношения не имеет. официально она работает и заточена только под жава-платформу. то что кто-то что-то делает под дотнет - это всё левые поделки из серии IronPython.
...
Рейтинг: 0 / 0
Java или Python
    #35981088
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frenzy

посмотреть в любом случае стоит, но своё мнение я уже озвучивал - я особо восторгов не понимаю вокруг Scala. это не динамический язык вроде Python или Ruby - т.е. такой мощи и открытости там нет , а синтаксические плюшки скалы мне не нужны - ява устраивает, написать чуть больше кода мне не лом учитывая насколько развиты IDE для жавы, зато строгий, понятный, проверенный временем.



А в чем, в вашем понимании, преимущества динамических языков перед Scala ?
/* не холивар */
...
Рейтинг: 0 / 0
Java или Python
    #35981105
Фотография Paradoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще из плюсов Скала можно отметить функциональное программирование.
...
Рейтинг: 0 / 0
Java или Python
    #35981417
Фотография Frenzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиезА в чем, в вашем понимании, преимущества динамических языков перед Scala ?
/* не холивар */

ну как и сказал. в "мощи и открытости". а точнее в питоне я могу манипулировать структурой уже созданного объекта меняя её до неузнаваемости - могу добавлять/удалять аттрибуты и методы инстанса или целого класса на лету, подменять любые реализации, вытащить всё что угодно откуда угодно. вплоть до того что если мне нужен какой-то объект, к которому у меня нет доступа в силу особенностей проектирования, я могу его найти в gc и спокойно использовать :)

т.е. о таких вещах как AOP, DI, IoC, рефлекшон в питоне никто особо не задумывается как о какой-то там особой технике. там это не является чем-то особенным - оно уже встроено в язык причем всё просто до банальности.

короче говоря мне не нужно проектировать приложение на питоне специально заботясь о том, чтобы впоследствии оно легко расширялось и интегрировалось с другими решениями. тут напротив сложно сделать так чтобы потом было сложно расширять :)

только нельзя такую "мощь и открытость" однозначно назвать преимуществом. иногда это нужно и удобно. а иногда наоборот это ведёт к полному хаосу и к тому что проект невозможно поддерживать - кругом магия.

скала в этом плане другой язык - это синтаксические плюшки, но она не может ничего такого, что не могла бы ява, просто в последней для этого потребуется больше кода. даже то что касается функционального программирования - на яве можно позаворачивать функции в объекты реализующие какой-нибудь интерфейс типа "функция" и можно получить такую же функциональность (достаточно вспомнить интерфейс Runnable), наверняка скала это и делает при компиляции.
...
Рейтинг: 0 / 0
Java или Python
    #35981529
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frenzy

ну как и сказал. в "мощи и открытости". а точнее в питоне я могу манипулировать структурой уже созданного объекта меняя её до неузнаваемости - могу добавлять/удалять аттрибуты и методы инстанса или целого класса на лету, подменять любые реализации, вытащить всё что угодно откуда угодно. вплоть до того что если мне нужен какой-то объект, к которому у меня нет доступа в силу особенностей проектирования, я могу его найти в gc и спокойно использовать :)

т.е. о таких вещах как AOP, DI, IoC, рефлекшон в питоне никто особо не задумывается как о какой-то там особой технике. там это не является чем-то особенным - оно уже встроено в язык причем всё просто до банальности.

...

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

Спасибо, идея понятна.
По большому счету, любой язык кроме асма - это синтаксические плюшки :) , и Python & Ruby тоже не умеют ничего такого, чего нельзя сделать на Java.
Думаю, реализовать функциональные фичи Скалы на яве ничуть не проще, чем объекты Питона.

А вы можете привести какой-нибудь пример кода (или ссылку), когда динамическое поведение приносит реальную выгоду/удобство при разработке? Мне интересно посмотреть, можно ли это будет реализовать через DSL в Scala ..
...
Рейтинг: 0 / 0
Java или Python
    #35981957
Фотография Frenzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
писать лень, приведу пример на словах. вот есть у нас например десяток классов бизнес-логики, которые используются по всему приложению. и возникла задача - нужно писать в базу историю вызовов всех функций этих классов. а заодно реализовать декларативный ACL, чтобы мы могли описывать в хмл-ке какойнибудь какие роли могут вызывать конкретный метод, а какие нет, и если вдруг доступ запрещён - кидать эксепшон.

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

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

т.е. вот такая адвансед техника которая в питоне делается с полпинка, в яве уже требует грамотного начального подхода и 3rd-party библиотеку. а как бы такая задача решалась в Scala?

_______________________________________
2pro4U
...
Рейтинг: 0 / 0
Java или Python
    #35982988
ябщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Frenzyт.е. типичная задача для АОП. вот в питоне я могу написать метакласс, который будет заворачивать методы данного класса в декоратор, который запишет историю и проверит права доступа. после чего навесить этот метакласс на нужные мне классы. - суть в том чтобы сделать это из одного места, а не перелопатив всё приложение, использующее эти классы, и сами классы.Мрак, пааарниша, а в яве конечно же нельзя написать декоратор. Мда, питон это просто натуральный каспийский тушкан!
...
Рейтинг: 0 / 0
Java или Python
    #35983107
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frenzy
...

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

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

т.е. вот такая адвансед техника которая в питоне делается с полпинка, в яве уже требует грамотного начального подхода и 3rd-party библиотеку. а как бы такая задача решалась в Scala?


Да, похоже, родных языковых средств для классического AOP в Scala действительно нет. :)
Можно, наверное, прикрутить AOP-инструменты от Java, типа AspectJ, благо байткод один...

С другой стороны, будет ли вообще полезен AOP на основе Joint Point'ов в функциональном языке??
<задумался>
...
Рейтинг: 0 / 0
Java или Python
    #35983489
Фотография Frenzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДиезДа, похоже, родных языковых средств для классического AOP в Scala действительно нет. :)
Можно, наверное, прикрутить AOP-инструменты от Java, типа AspectJ, благо байткод один...

С другой стороны, будет ли вообще полезен AOP на основе Joint Point'ов в функциональном языке??
<задумался>

ну тут не только в аопе дело. даже насчёт функционального программирования - в скале говорят "у нас любая функция - объект". в питоне об этом не говорят...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
# но там можно взять любую функцию

def func(x):
    print x

# и напихать в неё аттрибутов и даже других методов как в обычный объект

func.something = 'asd'
func.some_other_func = lambda y: y *  2     # ...в питоне тоже есть лямбды

# более того, каждый объект, если нам понадобится, может быть функцией

class SomeClass:
    def __call__(self, x):
        print x

some_instance = SomeClass()    # ...создаём объект этого класса
some_instance('asd')    # ...вызываем объект как обычную функцию - напечатает asd

# ...зачем это нужно? пусть у нас есть функционал, ожидающий аргумент-функцию, 
# в питоне мы можем такому функционалу передать аргументом не только функцию, 
# но и любой объект у которого есть __call__(). таким образом он может внутри себя 
# хранить состояния между вызовами, и много чего ещё.

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

с одной стороны - это мощь, это удобно. а с другой ни одна IDE не даст вменяемого автокомплита, более того такой код с магией сложнее поддерживать, медленнее работает, GIL.

но скала это в любом случае хорошо - такой себе промежуточный вариант, только через голову возможности ява-байткода не прыгнешь. да и есть чем пугать дотнетчиков ))
...
Рейтинг: 0 / 0
Java или Python
    #35983572
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ябщикМрак, пааарниша, а в яве конечно же нельзя написать декоратор. Мда, питон это просто натуральный каспийский тушкан!

Имеется ввиду декоратор метода или класса.
...
Рейтинг: 0 / 0
25 сообщений из 157, страница 5 из 7
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Java или Python
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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