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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.