LINUX.ORG.RU

Google разрабатывает язык Noop для замены Java

 ,


1

0

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

Noop говорит ДА:

  • Внедрению зависимостей в языке
  • Тестируем ост
  • Неизменяемости
  • Синтаксису направленному на улучшение читабельности кода
  • Никогда не устаревающей документации
  • Свойствам, сильной типизации и разумной современной библиотеке

Noop говорит НЕТ:

  • Любой статике
  • Наследованию (subclassing)
  • Примитивам
  • Ненужным шаблонам

Исходные коды доступны под Apache Licence 2.0

>>> Google urges developers to get in loop with Noop

★☆☆☆

Проверено: Shaman007 ()
Ответ на: комментарий от legolegs
> посчитать факториал в double

>>> reduce(lambda a, b: a*b, range(1,31), 1)
265252859812191058636308480000000L
>>> reduce(lambda a, b: a*b, range(1,31), 1.)
2.6525285981219103e+32
anonymous
()
Ответ на: комментарий от anonymous
> malloc говорит "нет памяти" когда нет целого куска нужной длины.

Фрагментация, ага.

> Ты постоянно выделяешь куски по 100 метров,

Тут уже упоминали про Firefox. А уж сколько разнообразных блоков СЕРВЕРНЫЕ приложения могут выделять за годы своей жизни, уууу....

yk4ever
()
Ответ на: комментарий от anonymous
>А освобождение? Вариант С/С++ - не нужна переменная - освободил память. GC же как определяет нужна переменная или нет, и надо освобождать её память? наверно просматривает кучу данных и метаданных, что уж точно будет намного медленнее, чем просто освободить самому ненужные переменные

Система останавливается и объекты, на которые есть ссылки из корня, копируются в новую область памяти. Всё
Karapuz ★★★★★
()
Я понял про факториалы, C++, Жабу, ПоХаПэ, большие числа, даже про четырех людей с лампочками на мосту...

Но на 12 странице треда хотел все-таки спросить... Так как же там с Noop?
valich ★★★
()
Ответ на: комментарий от anonymous
>>> гц приходится считать ссылки,

> А так проходится по ссылкам объектов с учётом поколений, делая на них пометки.

Так вы всё-таки про обход ссылок (mark-and-sweep) или про подсчёт ссылок (reference counting)? Это совершенно разные подходы.

yk4ever
()
Ответ на: комментарий от valich
> Так как же там с Noop?

Пионерская поделка, не имеющая перспектив. Use Scala, Luke.

tailgunner ★★★★★
()
Ответ на: комментарий от valich
> Но на 12 странице треда хотел все-таки спросить... Так как же там с Noop?

на первой странице есть ссылка на вики, а т.к. еще даже сами авторы не решили, как же в конце концов будет выглядеть язык - то и обсуждать тут нечего
lester ★★★★
()
Ответ на: комментарий от anonymous
> мосье baverman заявил, что "тот кто учится программированию использую C++, совершенно не понимает как важны абстракции и не умеет их применять".

Тоже верно. Низкоуровневое программирование сильно сужает кругозор.

yk4ever
()
Ответ на: комментарий от Gukl
> Вообще-то эти детали влияют на стиль программирования. (copy vs deepcopy и прочий тихий ужас)

Не понял. Какая связь между int и deepcopy? Приводите пример.

yk4ever
()
Ответ на: комментарий от HappySquirrel
>Но, как можно легко догадаться, как только находится C/C++ аналог - Java программа не выдерживает конкуренции ни секунды

Знаешь такой аналог Apache Tomcat 5.5 как nginx [engine x]? Так вот, если бы maxcom заменил Tomcat на nginx, LOR был бы хакнут через полдня, а потом недоступен по 12 часов/день, как остальные вебсервисы, работающие на nginx. Ну её нафиг такую скорость
Karapuz ★★★★★
()
Ответ на: комментарий от anonymous
> Или ты на PHP численные расчёты выполняешь?

А в пыхе ведь есть своя библиотека длинной арифметики. Так что в этом аспекте он лучше крестов.

yk4ever
()
Ответ на: комментарий от Karapuz
> недоступен по 12 часов/день, как остальные вебсервисы, работающие на nginx.

наглое 4.2
lester ★★★★
()
Ответ на: комментарий от Karapuz
> Так вот, если бы maxcom заменил Tomcat на nginx, LOR был бы хакнут через полдня

Пример сайта, хакнутого из-за бага в nginx, в студию.

> а потом недоступен по 12 часов/день, как остальные вебсервисы

Если 502 Bad Gateway или 504 Gateway Timeout, то вопросы не к nginx, а к криворуким авторам скриптов.

sjinks ★★★
()
Ответ на: комментарий от Karapuz
> http://antilogics.com/download.html Есть аналог на C++?

Для MySQL есть HeidiSQL :] Для прочих... тю, оно даже PostgreSQL и SQlite не поддерживает. Закапывайте.

А если кроме смеха, то я не фанатик. Если надо будет - воспользуюсь софтом и на жабе, и на перле. Пока не понадобилось.

yk4ever
()
Ответ на: комментарий от Qasta
> import java.math.BigInteger; > import static java.math.BigInteger.ONE; > public class Test { > public static void main(String[] args) { > BigInteger res = ONE; > BigInteger n = new BigInteger(args[0]); > while (n.compareTo(ONE) > 0) { > res = res.multiply(n); > n = n.subtract(ONE); > } > System.out.println(res); > } > }

Яву поставить нет возможности посчитай пожалуйста факториал от 1000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000

anonymous
()
Ответ на: комментарий от Qasta
> import java.math.BigInteger;
> import static java.math.BigInteger.ONE;
> public class Test {
> public static void main(String[] args) {
> BigInteger res = ONE;
> BigInteger n = new BigInteger(args[0]);
> while (n.compareTo(ONE) > 0) {
> res = res.multiply(n);
> n = n.subtract(ONE);
> }
> System.out.println(res);
> }
> }

Яву поставить нет возможности посчитай пожалуйста факториал от 1000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000
anonymous
()
Ответ на: комментарий от anonymous
>А освобождение? Вариант С/С++ - не нужна переменная - освободил память. GC же как определяет нужна переменная или нет, и надо освобождать её память? наверно просматривает кучу данных и метаданных, что уж точно будет намного медленнее, чем просто освободить самому ненужные переменные.

http://ru.wikipedia.org/wiki/%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%BC%D1%8...

http://www.csharphelp.com/archives2/archive297.html
http://www.ibm.com/developerworks/library/j-jtp10283/
http://www.javaperformancetuning.com/news/qotm026.shtml

Optimized garbage collection techniques description/claims Патент Microsoft USPTO Application #: 20080172431
Karapuz ★★★★★
()
Ответ на: комментарий от yk4ever
> Как запускаете?

я человек неграмотный, java не обученный, потому наивно - java ./split.class, если неправильно - поправьте

> Какая версия JRE?


1.6.0
lester ★★★★
()
Ответ на: комментарий от Qasta
>А почему бы и не для всего множества натуральных чисел ?

Подаришь мне свой компьютер с бесконечным объемом памяти?

anonymous
()
Ответ на: комментарий от anonymous
> посчитай пожалуйста факториал от 1000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000

У меня столько памяти нет

Впрочем, за $4000 я подумаю, за $1000 куплю Dual i7 Mac Pro, набью 24Гб памяти, и посчитаю тебе.
Karapuz ★★★★★
()
Ответ на: комментарий от Karapuz
> У всех уже 1.7.0

рад за всех, но думаю дело не в этом
lester ★★★★
()
Ответ на: комментарий от lester

я человек неграмотный, java не обученный, потому наивно - java ./split.class, если неправильно - поправьте

javac TestSplit.java
java TestSplit
yk4ever
()
Ответ на: комментарий от Karapuz
> Впрочем, за $4000 я подумаю, за $1000 куплю Dual i7 Mac Pro, набью 24Гб памяти, и посчитаю тебе.

Боюсь, что 24 ГБ будет мало.

sjinks ★★★
()
Ответ на: комментарий от anonymous
>Яву поставить нет возможности посчитай пожалуйста факториал от
>100000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000

Сразу же после того, как ты посчитаешь факториал этого числа на чём угодно в этой Вселенной :D
KRoN73 ★★★★★
()
Ответ на: комментарий от Karapuz
> Впрочем, за $4000 я подумаю, за $1000 куплю Dual i7 Mac Pro, набью 24Гб памяти, и посчитаю тебе.

Раньше солнце потухнет, чем вы цикл докрутите. Посчитать можно стирлингом, но для этого нужна длинная математика с плавающей точкой.

yk4ever
()
Ответ на: комментарий от yk4ever
>> Впрочем, за $4000 я подумаю, за $1000 куплю Dual i7 Mac Pro, набью 24Гб памяти, и посчитаю тебе.

> Раньше солнце потухнет

Да хрен с ним, с Солнцем, главное - $4k.

tailgunner ★★★★★
()
Ответ на: комментарий от yk4ever
>Так вы всё-таки про обход ссылок (mark-and-sweep) или про подсчёт ссылок (reference counting)? Это совершенно разные подходы.

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

anonymous
()
Ответ на: комментарий от anonymous
>А освобождение? Вариант С/С++ - не нужна переменная - освободил память. GC же как определяет нужна переменная или нет, и надо освобождать её память? наверно просматривает кучу данных и метаданных, что уж точно будет намного медленнее, чем просто освободить самому ненужные переменные.

http://download.boulder.ibm.com/ibmdl/pub/software/dw/dm/cognos/performance/c...
Karapuz ★★★★★
()
Ответ на: комментарий от tailgunner
> Да хрен с ним, с Солнцем, главное - $4k.

Не, ну по принципу Ходжи Насреддина, оно, конечно, проект хороший.

yk4ever
()
Ответ на: комментарий от vidliks
>В Опера количество языков для спелчека не ограниченно.
И можно их использовать одновременно?
Я, кстати, так и не нашёл как в Опере проврку орфографии включить.
grim ★☆☆☆
() автор топика
Ответ на: комментарий от valich
> Я понял про факториалы, C++, Жабу, ПоХаПэ, большие числа, даже про четырех людей с лампочками на мосту... Но на 12 странице треда хотел все-таки спросить... Так как же там с Noop?

Мне кажется, Noop-еры хотят дать еще немного рыбки голодным программистам, вместо того, чтобы дать им всем удочки.

Тем не менее, почитать их притензии к яве и идеи поучительно.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от shty
>вычисляет факториал от 5000000

А ты посчитай факториал от результата, возведенного в 10-ю степень. Или 5000000 максимальное натуральное число?

anonymous
()
Ответ на: комментарий от yk4ever
> Тоже верно. Низкоуровневое программирование сильно сужает кругозор.

Неверно. Просто надо сразу смотреть на несколько языков/платформ с адекватными приложениями оных.

sv75 ★★★★★
()
Ответ на: комментарий от sv75
> Неверно. Просто надо сразу смотреть на несколько языков/платформ с адекватными приложениями оных.

Да всё равно нормально структурировать код и данные не научишься.

yk4ever
()
Ответ на: комментарий от yk4ever
> javac TestSplit.java

пришлось потратить время на установку jdk, ошибка та же:

Exception in thread "main" java.lang.NoClassDefFoundError:
Caused by: java.lang.ClassNotFoundException: ./TestSplit.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
lester ★★★★
()
Ответ на: комментарий от grim
>И можно их использовать одновременно?

Не-а, по умолчанию только один.

>Я, кстати, так и не нашёл как в Опере проврку орфографии включить.

В окне ответа правой кнопкой -> Словари -> Добавить/удалить словари.
KRoN73 ★★★★★
()
Ответ на: комментарий от yk4ever
сложность какая будет, откуда там нп-то взялось? У меня вроде похожее для второго, и n^2 получилось. Неясно либо я что-то упустил, либо афтар с потолка там об нп набрехал.
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.