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 ()
Ответ на: комментарий от yk4ever

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

Специально для таких случаев существует готовый apr_pool: apr_palloc, apr_pstrdup, apr_pstrcat, apr_psprintf -- и не думай ни о чем.

linuxfan
()
Ответ на: комментарий от linuxfan

> я повзрослел, сменил пару мест работы и осознал, что в этом мире преобладает говнокод, размноженный с помощью Ctrl-C/Ctrl-V на тысячи строк.

И с тех пор ты с удовольствием вносишь свой вклад в дело умножения говнокода?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Нет, но я понял, что мир неидеален, и мне не удастся его исправить. Поэтому я стараюсь особо не увеличивать энтропию в системе мирового быдлокода, но и не кидаюсь фразами эзотерического программирования вроде: "Этот код такой плохой! Его надо взять и переписать с использованием новейших технологий и объектно-ориентированного подхода!"

linuxfan
()
Ответ на: комментарий от linuxfan

> "Этот код такой плохой! Его надо взять и переписать с использованием новейших технологий и объектно-ориентированного подхода!"

Ты устарел, сейчас в моде функциональное программирование.

mv ★★★★★
()
Ответ на: комментарий от mv

>Ты устарел, сейчас в моде функциональное программирование.

Ты хотел сказать: "Сейчас в може троллинг о функциональном программировании"? Я-то как раз не о троллинге.

linuxfan
()
Ответ на: комментарий от yk4ever

+1

when cpus are running at the light speed will any normal intelligent person care about the speed of 'split'? i guess no. it's so natural to use an existing function carefully prepared for you by other developers and pay attention only to things that really matter instead of reinventing the wheel every time you need to split the fucking string or calculate the fucking factorial. you are so young and stupid, lester.

anonymous
()
Ответ на: комментарий от mv

>Ты устарел, сейчас в моде функциональное программирование.

Не... Сейчас в моде не функциональное программирование, а разговоры о функциональном программировании :)

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

> when cpus are running at the light speed

чего не скажешь про программы, которые зачастую плетутся со скорость. черепах

> you are so young and stupid, lester.


that's really cool to be young :)

lester ★★★★
()
Ответ на: комментарий от linuxfan

> новейших технологий и объектно-ориентированного подхода

Похоже, не только у меня эта фраза вызывает когнитивный диссонанс. :)

pitekantrop ★★★
()
Ответ на: комментарий от grim

>>В Опера количество языков для спелчека не ограниченно.
>И можно их использовать одновременно?

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


не пались) это проблема офтопика... пришлось качать плагин для фокса и из него выдирать словари. В стейбле дебиана все из коробки. Правой кнопкой на поле ввода на странице - там галка.

F457 ★★★★
()
Ответ на: комментарий от linuxfan

>>Ты устарел, сейчас в моде функциональное программирование.

>Ты хотел сказать: "Сейчас в може троллинг о функциональном программировании"? Я-то как раз не о троллинге.

Так и мы - тоже. Если ты не используешь ФП, и вообще, как ты говоришь, громе говнокода на работе ничего не видишь, то это не значит, что так делают все.

pitekantrop ★★★
()
Ответ на: комментарий от KRoN73

you simply don't get it;) if you come down from the clouds of the object oriented paradigm you will *suddenly* notice that every object is actually a function and every function is an object and there's nothing inbetween like properties/classes/constructors etc. so in fact the terms function and object refer to the same thing. the latest researches in quantum physics show that the most fundamental properties of matter are exactly the same as those of information. as you can see there is no such thing like class or polymorphism in the nature. there are objects and nothing else. objects that are functions. see what i mean?;) i couldn't care less about fashion in general but i think today it's pointing to the right direction. regards, anonymous

anonymous
()
Ответ на: комментарий от pitekantrop

>Так и мы - тоже. Если ты не используешь ФП, и вообще, как ты говоришь, громе говнокода на работе ничего не видишь, то это не значит, что так делают все.

Видишь ли, мода - это по определению то, что делают все :) Ну, или почти все. Сегодня все говорят о функциональном программировании. Но _делают_ как-то не больше, чем 10 или 20 лет назад.

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

> but when you are young and stupid it's not cool at all;)

sure, but fortunately I'm not stupid, at least not more than you

lester ★★★★
()
Ответ на: комментарий от anonymous

> every object is actually a function and every function is an object

Хм. Вообще-то объект - это несколько функций, не? По одной на каждый метод.

tailgunner ★★★★★
()
Ответ на: комментарий от KRoN73

>>Так и мы - тоже. Если ты не используешь ФП, и вообще, как ты говоришь, громе говнокода на работе ничего не видишь, то это не значит, что так делают все.

>Видишь ли, мода - это по определению то, что делают все :) Ну, или почти все.

В нулевом приближении все ненавидят Америку, смотрят Дом-2 и кодят на ПХП. :)

>Сегодня все говорят о функциональном программировании. Но _делают_ как-то не больше, чем 10 или 20 лет назад.

На форумах типа ЛОРа, естественно, только говорят. Не писать же сюда тексты своих программ. :)

Кстати, можно ещё и делать, но не осознавать, что ты делаешь. Например, анонимные классы в Java - сколько народу их использует, не задумываясь, что это в сущности недо-closures. Или обыкновенные электронные таблицы - сколько народу задумывается о их функциональной сущности?

pitekantrop ★★★
()
Ответ на: комментарий от linuxfan

> Что ты подразумеваешь под словами "использовать ФП"?

Например, писать программы в функциональном стиле, использовать идиомы функционального программирования.

pitekantrop ★★★
()
Ответ на: комментарий от lester

Неплохо бы теперь этот код отладить. Как насчёт пробелов в начале/конце входных данных, нескольких пробелов подряд?

А программа на Java уж давно написана и работает с _приемлемой_ скоростью.

k_andy ★★★
()
Ответ на: комментарий от pitekantrop

>На форумах типа ЛОРа, естественно, только говорят. Не писать же сюда тексты своих программ. :)

Да не только на форумах. За последние лет пять я пользовался только одной программой, написанной на ФП (fquery на haskell) на десктопе, и то недолго, и пользуюсь только одной программой на ФП на сервере (ejabberd).

Думаю, что у основной массы пользователей и этих-то примеров не будет.

Так что - про ФП сегодня на практике только разговаривают :) Да, ФП жил, жив и будет жить, но модой единичные или очень нишевые случаи его применения назвать нельзя.

>Кстати, можно ещё и делать, но не осознавать, что ты делаешь. Например, анонимные классы в Java - сколько народу их использует, не задумываясь, что это в сущности недо-closures

Я, вообще-то, про ФЯП говорю. Элементы ФП в императивных языках - это сколько угодно. Сам многое с того же Форта использую, уже без малого 20 лет :) А уж сколько ФП методик в том же PHP сегодня используется, начиная от рекурсий, кончая анонимными функциями.

KRoN73 ★★★★★
()
Ответ на: комментарий от k_andy

>А программа на Java уж давно написана и работает с _приемлемой_ скоростью.

В этом и профит. Я ж у себя на форуме несколько раз проводил конкурсы на те или иные задачи. Java или Python-решения выкатывались сходу. Си++ ждали обычно очень долго, если, вообще, дожидались. При чём в тех же темах постоянно была масса слов о крутизне Си++. Но без примеров :)

...

Надо бы придумать очередную задачку какую-нибудь :)

KRoN73 ★★★★★
()
Ответ на: комментарий от k_andy

> Неплохо бы теперь этот код отладить. Как насчёт пробелов в начале/конце входных данных, нескольких пробелов подряд?

кто сказал, что пустое слово - не слово?

lester ★★★★
()
Ответ на: комментарий от lester

>кто сказал, что пустое слово - не слово?

А три пробела - это два пробела и слово из пробела между ними или два пустых слова? :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> А три пробела - это два пробела и слово из пробела между ними или два пустых слова? :)

это четыре пустых слова :)

lester ★★★★
()
Ответ на: комментарий от tailgunner

that's the traditional approach, not what i'm talking about. let's take a look at the problem from another point of view. every standalone piece of code like an application, driver, whatever just takes some input from one or more sources and directs produced output to one or more targets. hence every program is a function. it's quite simple to understand it when you're looking from the right angle. however when it comes to writing some real code you are stuck because after many years of coding you got used to thinking in terms of methods/variables/properties/fields and so on. but that's not the problem of the approach that's the problem in your mind. and after you spend a week or so constantly thinking about the new model if you are bright enough you will start inventing new ways of solving many known problems and your algorithms will become much cleaner, much shorter. that what has happened to me, dude.

anonymous
()
Ответ на: комментарий от lester

> нет, конечно, как вы там смогли 5 насчитать?! :)

От вас (нас) С++ников всего можно ожидать. ;)

k_andy ★★★
()
Ответ на: комментарий от anonymous

> that what has happened to me

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

lester ★★★★
()
Ответ на: комментарий от pitekantrop

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

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

linuxfan
()
Ответ на: комментарий от lester

that's right lester, sometimes even stupids can say something smart;) i've got such a project but it's not finished yet. because everyone needs to eat. i hope you understand me;) if i eventually come out with something really working or someone else does you'll definitely see some sources and will start thinking very bad about C++;)

anonymous
()
Ответ на: комментарий от anonymous

> i've got such a project but it's not finished yet
> i hope you understand me;)


проходите, люди ДЕЙСТВИТЕЛЬНО делающие что-то легко могут дать ссылку на вики, сайт проекта, svn и т.д., а те кто не делает ничего - ищут отговорки и учат других

lester ★★★★
()
Ответ на: комментарий от linuxfan

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

>Ты говоришь как воинствующий фанатик.

Фанатик - это ты. Воинственно пропагандирующий ограниченность и отсутствие кругозора. Я-то на С++ писать могу. А ты что кроме своих плюсов видел?

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

Именно так, для этого ФП и нужно.

P.S. При чём тут ещё вебдваноль?

pitekantrop ★★★
()
Ответ на: комментарий от pitekantrop

>А ты что кроме своих плюсов видел?

Я не видел только новомодных хацкилей и дотнетов и старой экзотики вроде кобола. И на твоем месте я бы не стал так гордиться своей "эникейской" специализацией.

>Именно так, для этого ФП и нужно.

Для рюшечек? Или чтобы ехать?

>P.S. При чём тут ещё вебдваноль?

Вебдваноль -- собирательное название для новомодных никчемных "технологий" вроде xml-rpc и прочего бреда воспаленого сознания.

linuxfan
()
Ответ на: комментарий от linuxfan

>>Именно так, для этого ФП и нужно.

> Для рюшечек? Или чтобы ехать?


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

mv ★★★★★
()
Ответ на: комментарий от mv

>ФП за счёт отсутствия сайд-эффектов упрощает жизнь программисту.

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

>сегфолты в darcs, написанном на Хаскелле

Дело не в инструменте, а в голове и в руках.

linuxfan
()
Ответ на: комментарий от lester

oh dont be so.. you are saying it like i have promised you something. that's silly isn't it? the main problem with the project is the lack of documentation so instead of confusing people with some code they will hardly understand i'm trying to finish at least the specification, make the code clean and fix the most obvious bugs so that everyone could run the simplest samples and tests. it's very easy to make something complex but very hard to make something simple. you should know it if you want to be called a programmer.

anonymous
()
Ответ на: комментарий от anonymous

> with some code they will hardly understand
> i'm trying to finish at least the specification

> make the code clean and fix the most obvious bugs

> so that everyone could run the simplest samples and tests


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

lester ★★★★
()
Ответ на: комментарий от linuxfan

> Отсутствие сайд-эффектов возможно только в эзотерическом программировании.

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

mv ★★★★★
()
Ответ на: комментарий от linuxfan

> Вебдваноль -- собирательное название для новомодных никчемных "технологий" вроде xml-rpc

Крестовики снова жгутъ.

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

> прочего бреда воспаленого сознания.

Это вы о своих высказываниях?

yk4ever
()
Ответ на: комментарий от mv

>ФП за счёт отсутствия сайд-эффектов упрощает жизнь программисту. Поэтому сегфолты в darcs, написанном на Хаскелле, вызывают тройную, если не четверную бурю негодования ;)

а мне казалось, что машина тьюринга лямбда исчисление эквивалентны.

anonymous
()
Ответ на: комментарий от anonymous

Давай разберёмся.

Верно ли, что мы оба говорим о количестве цифр в факториале 10^157?

kde4-hater
()
Ответ на: комментарий от mv

> Поэтому сегфолты в darcs, написанном на Хаскелле, вызывают тройную, если не четверную бурю негодования ;)

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

yk4ever
()
Ответ на: комментарий от linuxfan

> Дело не в инструменте,

Я всем, кто так высказывается, предлагаю покодить на Malbolge.

yk4ever
()
Ответ на: комментарий от linuxfan

> Ну почитай хотя бы Hyperspec. У многих функций есть сайд-эффекты.

Common Lisp - ни разу не pure-functional.

mv ★★★★★
()

Интересно, а где больше граблей на единицу функциональности в C++ или в Лиспе?

SSZB
()
Ответ на: комментарий от lester

has linus created his os in one day? or maybe you are too stupid, little idiot? actually every good project starts with some abstract model that evolves into some buggy dirty code that is created just to see what it may look like. and only then it's polished to some reasonably good state and showed to the public. but you too young to understand this. as you have mentioned in one of your posts you prefer to think of optimization right away. this shows well who you are as a professional programmer. grow up boy. and please don't think that i came here to recruit someone - this idea exists only in your mind. good luck, newbie;) i wish when you become a man you'll be a good seasoned programmer. you need to gain some experience. so do it!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.