The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Компания Google анонсировала язык программирования Dart 2, opennews (ok), 24-Фев-18, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


3. "Компания Google анонсировала язык программирования Dart 2"  +7 +/
Сообщение от Онаним (?), 24-Фев-18, 21:41 
Вот ведь им неймётся... Когда анонсировали первый Дарт идея казалась отличной - заменить JS чем-то более адекватным, встроив это в браузер. Но в браузер так и не встроили, появился TypeScript и другие интересные транспайлеры (например Elm и ClojureScript), появился wasm, а они опять изобретают велосипед. Чем он будет лучше того же TypeScript из новости не очевидною
Ответить | Правка | Наверх | Cообщить модератору

4. "Компания Google анонсировала язык программирования Dart 2"  –5 +/
Сообщение от pavlinux (ok), 24-Фев-18, 21:43 
> Вот ведь им неймётся...

Вангую: через 5 лет будет Dart64.0.3282.169.
Меньше 25 - нет доверия к продукту!!! :D

Ответить | Правка | Наверх | Cообщить модератору

8. "Компания Google анонсировала язык программирования Dart 2"  –14 +/
Сообщение от Ан (??), 24-Фев-18, 21:50 
Почему JS неадекватен? Этот штамп тянется за ним и тянется. Но в чем его неадекватность как языка программирования? Если речь идет о рукожопых разработчках, дак они есть в любом языке. Чем язык та при этом виноват? То что было создано в 90-х для "Netscape navigator" и что есть сейчас, дак это уже как небо и земля.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

9. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 24-Фев-18, 21:52 
npm leftpad, null/undefined, 0.1 + 0.2 = 3.000000000000004
Ответить | Правка | Наверх | Cообщить модератору

11. "Компания Google анонсировала язык программирования Dart 2"  –3 +/
Сообщение от Аноним (-), 24-Фев-18, 21:58 
Смешит некомпетентность

python> 0.1+0.2
0.30000000000000004

Clojure 1.8.0
user=> (+ 0.1 0.2)
0.30000000000000004

Для разъяснений гугли IEEE 754

Ответить | Правка | Наверх | Cообщить модератору

14. "Компания Google анонсировала язык программирования Dart 2"  –11 +/
Сообщение от pavlinux (ok), 24-Фев-18, 22:01 
> Смешит некомпетентность

Дописывать лишние нули в мантису это по IEEE?


finit
fld 0.1
fld 0.2
fadd
...

Не вызывает никаких переполнений и исключений.
На лицо рукожопистость выскокоуровневых кодеров.

Ответить | Правка | Наверх | Cообщить модератору

39. "Компания Google анонсировала язык программирования Dart 2"  +7 +/
Сообщение от Аноним (-), 25-Фев-18, 01:22 
> На лицо рукожопистость выскокоуровневых кодеров.


$ cat float.c && gcc float.c&& ./a.out
#include <stdio.h>

int main(void) {
    printf("%.20f\n",.1+.2);
    return 0;
}

0.30000000000000004441


Ответить | Правка | Наверх | Cообщить модератору

99. "Компания Google анонсировала язык программирования Dart 2"  +2 +/
Сообщение от какойто другой аноним (?), 25-Фев-18, 14:04 
>> Смешит некомпетентность
> Дописывать лишние нули в мантису это по IEEE?

[...]
> Не вызывает никаких переполнений и исключений.
> На лицо рукожопистость выскокоуровневых кодеров.

Никто ничего не дописывает.
Просто в описанном в IEEE 754 способе кодирования чисел невозможно точно представить числа 0.1 и 0.2. Эти числа в двоичной системе счисления записываются как бесконечная периодическая дробь, которая на каком-то уровне должна быть обрезана и округлена.

>>> (0.1).hex()

'0x1.999999999999ap-4'
>>> (0.2).hex()

'0x1.999999999999ap-3'

как видно, оба раза числа представлены с небольшим избытком, поэтому и сумма такая,
>>> (0.1+0.2).hex()

'0x1.3333333333334p-2'

хотя для 0.3 более точным представлением является
>>> (0.3).hex()

'0x1.3333333333333p-2'

Коллега, если вас не затруднит - покажите как у вас представилось в памяти 0.1 и 0.2.

Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

43. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 25-Фев-18, 01:39 
> python> 0.1+0.2
> 0.30000000000000004
> Clojure 1.8.0
> user=> (+ 0.1 0.2)
> 0.30000000000000004


% прогресс такой прогресс )
?- X is 1 rdiv 10 + 2 rdiv 10, format('X is ~50f~n',[X]).
X is 0.30000000000000000000000000000000000000000000000000
X = 3 rdiv 10.

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

94. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от какойто другой аноним (?), 25-Фев-18, 13:43 
Простите за занудство,
а извлечение квадратного корня тоже оставляет числа рациональными?

если нет, то так-то я и на python могу:
>>> from fractions import Fraction
>>> Fraction(1,10)+Fraction(2,10)

Fraction(3, 10)
>>> Fraction(2, 10)**2

Fraction(1, 25)
# квадрат оставил рациональным
>>> Fraction(1, 25)**0.5

0.2
# а корень - нет, получился float

Ответить | Правка | Наверх | Cообщить модератору

106. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 25-Фев-18, 15:43 
> если нет, то так-то я и на python могу:
>>>> from fractions import Fraction
> так-то
> import Fractions

/0

Может, лучше сразу загрузить Sage?
А то ведь без Sage, с возможностью использования древней коробочной библиотеки, для молодежных питонов опять все грустно станет )


?- use_module(library(clpq)).
true.
?- {3/X = 1/X + 2/10}.
X = 10.
?- {3/X =:= 1/X + 2/X, X - Y = 5, Y = X/2}.
X = 10,
Y = 5.
?- {3/10 =:= X + Y, Y - X = 1/10}.
X = 1 rdiv 10,
Y = 1 rdiv 5.

> Fraction(1, 25)
> # квадрат оставил рациональным
>>>> Fraction(1, 25)**0.5


?- X is rationalize((1 rdiv 25) ** rationalize(0.5)), format('X is ~50f~n',[X]).
X is 0.20000000000000000000000000000000000000000000000000
X = 1 rdiv 5.

?- {1/2 = X ^ (1/2)}.
X = 1 rdiv 4.

Ответить | Правка | Наверх | Cообщить модератору

119. "Компания Google анонсировала язык программирования Dart 2"  +1 +/
Сообщение от freehckemail (ok), 25-Фев-18, 20:40 
> ?- X is rationalize((1 rdiv 25) ** rationalize(0.5)), format('X is ~50f~n',[X]).
> X is 0.20000000000000000000000000000000000000000000000000
> X = 1 rdiv 5.

и ещё раз:

> X is rationalize((1 rdiv 25) ** rationalize(0.5))

и ещё крупнее:

> X is rationalize(...)

Ах, и О ЧУДО! Оно после этого вывело 0.2! Вот это да! Как же так получилось?! :P
Ты чего это подтасовками разного рода занимаешься? :)

Ответить | Правка | Наверх | Cообщить модератору

124. "Компания Google анонсировала язык программирования Dart 2"  +1 +/
Сообщение от Аноним84701 (ok), 25-Фев-18, 23:16 
> Ах, и О ЧУДО! Оно после этого вывело 0.2! Вот это да!
> Как же так получилось?! :P

Оно вообще-то выводит 0.1999... ;)


?- X is (1 rdiv 25) ^ rational(0.5), Y is rational(X), Z is rationalize(X), format('X is ~50f~n',[X]).
X is 0.19999999999999998334665463062265189364552497863770
X = 0.19999999999999998,
Y = 7205759403792793 rdiv 36028797018963968,
Z = 1 rdiv 5

Хотя, дело скорее в  отсутствии cоотв. правил/движка.
В сикстусе года 2009-2010 constraint solver с рациональщиной вроде очень даже помощнее были, но то было давно и уже почти не правда (не помню точно, может из серии "солнце ярче и трава зеленее").

Но в принципе, неплохо для ЯП начала 70ых (ну хорошо, для дополнений к стд. библиоткам годов 95'ых и честно перетыренной в YAP/SWI  _идеи_ из мерзко-проприетарного SICStusa :) ).
А насчет подтасовок -- Fractions в питон добавили в 2.6, да и подгружать его нужно ... и вообще, как можно быть против теплого и лампового Пролога, занимая сторону холодной и склизкой змеюки?! o_O

Ответить | Правка | Наверх | Cообщить модератору

118. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от freehckemail (ok), 25-Фев-18, 20:37 
> Простите за занудство, а извлечение квадратного корня тоже оставляет числа рациональными?
> ...
> а корень - нет, получился float

Естественно, что float. Корень из рационального числа может возвращать иррациональное.
Об этом можно подробно почитать в теории множеств (буквально первые страницы). Или погуглить про дедекиндовы сечения. Ну или вот:
https://ru.wikipedia.org/wiki/%D0%98%D1%...

Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

13. "Компания Google анонсировала язык программирования Dart 2"  –6 +/
Сообщение от Ан (??), 24-Фев-18, 21:59 
"npm leftpad" не относится к стандарту языка. Только "typeof null === 'object'" есть архитектурный косяк. Но я не думаю что это единственный язык где такое может встретиться. Я в свое время слышал так же много дерьма про PHP только вот почему то его так часто не вспоминают. А JS вспоминают потому что он становится популярнее с каждый днем и это кому то мозоль похоже натирает.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

20. "Компания Google анонсировала язык программирования Dart 2"  –1 +/
Сообщение от Аноним (-), 24-Фев-18, 22:12 
Всё становится популярнее. А вот отсутствие строгой типизации позволяет стрелять по ногам более лучше.
Ответить | Правка | Наверх | Cообщить модератору

22. "Компания Google анонсировала язык программирования Dart 2"  –8 +/
Сообщение от pavlinux (ok), 24-Фев-18, 22:13 
> Всё становится популярнее. А вот отсутствие строгой типизации позволяет стрелять по ногам
> более лучше.

Стухель, не позорься.

Ответить | Правка | Наверх | Cообщить модератору

84. "Компания Google анонсировала язык программирования Dart 2"  –1 +/
Сообщение от Аноним (-), 25-Фев-18, 12:31 
Сахар от TypeScript спасает.
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

32. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Crazy Alex (ok), 24-Фев-18, 22:55 
На пхп в своё время ругались не меньше. Но, в отличие от, в своё время плюнул и много чего починил, сломав совместимость. То, что я сейчас у коллег на PHP вижу, больше всего напоминает Java, пожалуй - суровое ООП "по всем канонам". IMHO, даже слишком суровое, но это уже мои предубеждения :-)

А в JS с совместимостью косяков носятся как дурень с писаной торбой, даже со всеми вашими транспайлерами.

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

56. "Компания Google анонсировала язык программирования Dart 2"  –2 +/
Сообщение от Аноним (-), 25-Фев-18, 04:37 
> сейчас у коллег на PHP вижу, больше всего напоминает Java

Делать Java'у из PHP ? - Фу таким быть.

PS: ни разу не помазано PHP'шниной.

Ответить | Правка | Наверх | Cообщить модератору

70. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Crazy Alex (ok), 25-Фев-18, 09:05 
Я тут сто раз писал, и ещё раз повторю - громоздкость энтерпрайзной джавы со всеми её фабриками и прочим - она не для прикола придумана, а для того, чтобы средний/большой софт вообще можно было хоть как-то предсказуемо писать и поддерживать, потому что гениальных кодеров мало. В пыхе она отросла ровно по той же причине. И уж всяко это лучше той печальной мешанины, что была в нём раньше.
Ответить | Правка | Наверх | Cообщить модератору

68. "Компания Google анонсировала язык программирования Dart 2"  +2 +/
Сообщение от Аноним (-), 25-Фев-18, 08:53 
Чувак видимо не знает что десятичные дроби нельзя представить точно в двоичном представлении и что все операции с плавающей точной точного результата не дают.
Это не JavaScript виноват, а то что в компьютере двоичная система счисления, а не десятичная.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

85. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 25-Фев-18, 12:33 
Скорее виновата эволюция и наличие десяти пальцев. Вот было бы их 12... эх, мечты, мечты.
Ответить | Правка | Наверх | Cообщить модератору

111. "Компания Google анонсировала язык программирования Dart 2"  +2 +/
Сообщение от Анонимный рептилоид (?), 25-Фев-18, 18:03 
> Скорее виновата эволюция и наличие десяти пальцев. Вот было бы их 12...

Брат, не пались! У человеков их аж 20. И двадцатиричная система чисел у них использовалась. У народа маек или маёв. Потом видимо появилась мода на обувь и человеки, в угоду моде, перешли на десятиричную систему.

Ответить | Правка | Наверх | Cообщить модератору

136. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от _ (??), 27-Фев-18, 20:38 
>Брат, не пались! У человеков их аж 20.

Если уж "брат" - то 21 ;-)

Ответить | Правка | Наверх | Cообщить модератору

147. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Человек (??), 27-Фев-18, 23:15 
>>Брат, не пались! У человеков их аж 20.
> Если уж "брат" - то 21 ;-)

Еще один совсем не палится.
Хладнейший (таково ведь нейтральное, умеренно-уважительное обращение?) ЭТО вообще-то не считается за палец уже лет сто как минимум. Учите таки мат-часть, если не хотите, чтобы ваши рабы мерли как мухи!


Ответить | Правка | Наверх | Cообщить модератору

112. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 25-Фев-18, 19:07 
>Чувак видимо не знает что десятичные дроби нельзя представить точно в двоичном представлении и что все операции с плавающей точной точного результата не дают.

1/2, 3/16 и все дроби, где знаменатель степень двойки, ы? Но на самом деле, это скорей исключения.
>Это не JavaScript виноват, а то что в компьютере двоичная система счисления, а не десятичная.

Тут проблемы с разрядностью в первую очередь, а уже затем вопрос принципиальной возможности точного представления рациональных чисел по IEEE 754.

Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

30. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Crazy Alex (ok), 24-Фев-18, 22:50 
Ну вот типизация (точнее, её отсутствие), собственно. Из совсем извращённого, что сразу вспомнилось - совершенно безумные области видимости переменных ещё.

Хотя да, подтянули его здорово, тут не поспоришь.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

69. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 25-Фев-18, 08:56 
TypeScript. А еще в нем есть private и protected у классов в отличии от js
Ответить | Правка | Наверх | Cообщить модератору

71. "Компания Google анонсировала язык программирования Dart 2"  –1 +/
Сообщение от Crazy Alex (ok), 25-Фев-18, 09:08 
Ну да. Но это ж не джаваскрипт, а вопрос был "чем джаваскрипт не угодил". Ну вот примерно тем, что явные косяки языка не исправляются, вместо этого кто как может лепит заплатки сверху. А Dart это, TypeScript или вообще CoffeeScript (не к ночи будь помянут) - не принципиально.
Ответить | Правка | Наверх | Cообщить модератору

90. "Компания Google анонсировала язык программирования Dart 2"  –1 +/
Сообщение от An (??), 25-Фев-18, 13:09 
Приватность давно уже можно реализовать рядом способов. А вскоре в стандарте будет уже реальная симантика для приватных свойств, методов.
И кстати по поводу wasm, то его не проектировали чтобы JS совсем выкинуть. JS это язык первого уровня для браузера и всегла им останется. А wasm нужен для реализации вещей сильно зависящих от помех которые может добавить GC и не такой высокой производительности JIT-а по сравнению с компилируемыми языками.
Ответить | Правка | Наверх | Cообщить модератору

91. "Компания Google анонсировала язык программирования Dart 2"  –2 +/
Сообщение от An (??), 25-Фев-18, 13:16 
> Приватность давно уже можно реализовать рядом способов. А вскоре в стандарте будет
> уже реальная симантика для приватных свойств, методов.
> И кстати по поводу wasm, то его не проектировали чтобы JS совсем
> выкинуть. JS это язык первого уровня для браузера и всегла им
> останется. А wasm нужен для реализации вещей сильно зависящих от помех
> которые может добавить GC и не такой высокой производительности JIT-а по
> сравнению с компилируемыми языками.

То есть я хочу сказать что не надейтесь что производители браузеров реализуют биндинги для wasm ко всем доступным браузерным API, к которым есть доступ у JS. Они же не дураки развивать wasm и js параллельно.

Ответить | Правка | Наверх | Cообщить модератору

151. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Очередной аноним (?), 28-Фев-18, 12:59 
Мне кажется, что Вы сильно заблуждаетесь и чего-то недопонимаете в суетливых телодвижениях компаний по поводу wasm.

Цели wasm'а
http://webassembly.org/docs/high-level-goals/

"
...
3. Design to execute within and integrate well with the existing Web platform:

   - maintain the versionless, feature-tested and backwards-compatible evolution story of the Web;
   - execute in the same semantic universe as JavaScript;
   - allow synchronous calls to and from JavaScript;
   - enforce the same-origin and permissions security policies;
   - access browser functionality through the same Web APIs that are accessible to JavaScript; and
   - define a human-editable text format that is convertible to and from the binary format, supporting View Source functionality.
...
"

Надеюсь, хотя бы фраза "access browser functionality through the same Web APIs that are accessible to JavaScript; " Вам понятна?

> Они же не дураки развивать wasm и js параллельно.

Нет. Поэтому сначала сильно напрягутся. Т.е. сделают так, чтобы wasm полностью покрывал функционал/возможности JS по Web API, а потом просто встроят простую прослойку-компилятор JS->wasm, а не всякие супер-пупер оптимизированные сложные а ля V8-движки. Супер-оптимальными они будут делать именно wasm-движки, ибо в wasm'е как-раз будет куда еще оптимизировать, ибо по той же ссылке певой целью wasm'а как раз заявлено:

" 1. Define a portable, size- and load-time-efficient binary format to serve as a compilation target which can be compiled to execute at native speed by taking advantage of common hardware capabilities available on a wide range of platforms, including mobile and IoT."

Разве Вам не очевидно, что когда полностью созреет wasm, то всё остальное будет переделываться под него, цепляться на него через всякие статические/динамические компиляторы из очередного языка программирования в wasm. Ну типа как у майкрософта в его .NET-платформе - языков несколько, но все компилируется в промежуточный байткод CIL, который потом исполняется в среде CLR. Т.е. напрягаются и оптимизируют одну среду, а не несколько для каждого языка в отдельности. А уж создатели отдельных языков в случае своей заинтересованности в вебе сами создадут очередной компилятор в wasm.

Другой вопрос, получится ли все сделать так, как заявлено в целях и сколько времени это займет. А то не хочется ждать лет 10.


Ответить | Правка | Наверх | Cообщить модератору

153. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Очередной аноним (?), 28-Фев-18, 14:21 
> То есть я хочу сказать что не надейтесь что производители браузеров реализуют
> биндинги для wasm ко всем доступным браузерным API, к которым есть
> доступ у JS. Они же не дураки развивать wasm и js
> параллельно.

Вдогонку, к этому Вашему посту и посту выше, где прозвучала фраза

> ... А wasm нужен для реализации вещей сильно зависящих от помех
> которые может добавить GC и не такой высокой производительности JIT-а по
> сравнению с компилируемыми языками.

Посмотрите на roadmap

http://webassembly.org/docs/future-features/

там в планах создается и GC (который по Вавшему - не нужен) и если перейти по ссылке на Garbage collection
( https://github.com/WebAssembly/design/issues/1079 )

то там прямым текстом написано:
"
To realize the high-level goals of (1) integrating well with the existing Web platform and (2) supporting languages other than C++, WebAssembly needs to be able to:

    - reference DOM and other Web API objects directly from WebAssembly code;
    - call Web APIs (passing primitives or DOM/GC/Web API objects) directly from WebAssembly without calling through JavaScript; and
    - efficiently allocate and manipulate GC objects directly from WebAssembly code.
"

Надеюсь Вам кристально понятна фраза "call Web APIs (passing primitives or DOM/GC/Web API objects) directly from WebAssembly without calling through JavaScript;"

Ответить | Правка | К родителю #91 | Наверх | Cообщить модератору

93. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Crazy Alex (ok), 25-Фев-18, 13:35 
Да приватность - это дело десятое, в общем-то. Её основная польза - скорее документирование кода.  А вот скопы и строгая типизация - вопрос другой.

А биндинги - ну либо производители сделают (в планах-то оно всегда было - рядом с GC - и никуда не делось) либо какая-то прослойка на JS нарисуется, разница, в сущности, невелика.

Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

95. "Компания Google анонсировала язык программирования Dart 2"  –1 +/
Сообщение от An (??), 25-Фев-18, 13:55 
Ну типизации строгой там наверно ни когда и не появится. И как правильно сказали flow, typescript эти проблемы частично решает. Еще на сколько щнаю есть proposal для реализации статической типизации на уровне языка: esdiscuss.com, тут все найдете.
А что есть проблема со скопами?
Ответить | Правка | Наверх | Cообщить модератору

98. "Компания Google анонсировала язык программирования Dart 2"  –1 +/
Сообщение от An (??), 25-Фев-18, 13:59 
Ошибочка вышла: https://esdiscuss.org
Ответить | Правка | Наверх | Cообщить модератору

104. "Компания Google анонсировала язык программирования Dart 2"  –3 +/
Сообщение от vitalif (ok), 25-Фев-18, 14:31 
Да успокойтесь вы уже, не нужна людям (99%) типизация. Почему? Потому, что никому не надо писать код МАКСИМАЛЬНО КОРРЕКТНО, всем надо БЫСТРО ПРИ ПРИЕМЛЕМОМ КАЧЕСТВЕ.

Это классно потратить в 3 раза больше времени на проект, сделать аккуратно, покрыть всё тестами... и обнаружить, что он никому уже стал не нужен за это время.

Можно сколько угодно обзывать ВЕСЬ МИР веб-макаками, но развитие языков программирования показывает, что отсутствие типизации - это удобно, и отказываться от этого никто не будет.

JS/TS - опциональная типизация - самый нормальный подход, пока не надо - пишешь без типов, потом когда нужно подстраховаться - допиливаешь типы.

Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

110. "Компания Google анонсировала язык программирования Dart 2"  +1 +/
Сообщение от Аноним (-), 25-Фев-18, 17:34 
> и обнаружить, что он никому уже стал не нужен за это время.

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

Ответить | Правка | Наверх | Cообщить модератору

125. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от vitalif (ok), 26-Фев-18, 01:18 
Да не, просто уж совсем "палка перегнулась" в сторону скриптоты - вот, разгибают теперь))

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

Ответить | Правка | Наверх | Cообщить модератору

128. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 26-Фев-18, 10:52 
В жуёсе типизация есть, ты шо. Только она гоwно. Типизация и необходимость вручную прописывать типы - две большие разницы. А быстро-быстро можно и на питоне али рубях написать, с типизацией всё нормально, но вручную ты ничего не прописываешь.
Ответить | Правка | К родителю #104 | Наверх | Cообщить модератору

130. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от vitalif (ok), 26-Фев-18, 14:21 
Та ну, имхо это маркетинговый миф "смотрите у нас скриптота, но со строгой типизацией!"

В чём заключается строгость - ну... типа что str+int нельзя сделать. Правда, кроме геморроя, это ничего не даёт, даже в Java и C++ это можно, а вот в питоне почему-то нельзя, да.

На самом деле все скриптовые языки с точки зрения типизации, перл-питон-руби-пхп-js - один хрен, с лёгкими модификациями, везде 3 базовых типа - скаляр/массив/хеш (json) (ещё как с perl'а заведено). Ну кто-то чуть больше сам типы преобразует, кто-то чуть меньше. И чо? Фактически это ничего не даёт, практическая разница как раз между тем что все типы надо писать руками или не надо. Когда надо, это добавляет геморроя, но позволяет что-то проверить компилятору. Когда не надо, писать удобнее, но гарантии корректности меньше.

Ответить | Правка | Наверх | Cообщить модератору

132. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 26-Фев-18, 18:39 
> В чём заключается строгость - ну... типа что str+int нельзя сделать. Правда,
> кроме геморроя, это ничего не даёт, даже в Java и C++
> это можно, а вот в питоне почему-то нельзя, да.

Чего-чего там можно в плюсах или жабе и нельзя в питоне?

Ответить | Правка | Наверх | Cообщить модератору

143. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 27-Фев-18, 22:25 
> Чего-чего там можно в плюсах или жабе и нельзя в питоне?

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

Ответить | Правка | Наверх | Cообщить модератору

148. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Человек (??), 27-Фев-18, 23:25 
>> Чего-чего там можно в плюсах или жабе и нельзя в питоне?
> Предсказуемый код, который не тормозит. В общем ЯП для написания полурабочих макетов
> программ. Тормозных и глючных.

Ты точно Виталий, написавший
> типа что str+int нельзя сделать. Правда,
> кроме геморроя, это ничего не даёт, даже в Java и C++
> это можно, а вот в питоне почему-то нельзя, да.

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

> Предсказуемый код,

Это про обычную, изкоробочную жабу с ее супер-GC-останови-планету-пусть-весь-мир-подождет vs. простой счетчик ссылок (у яблок называется громким и красивым Automatic Reference Counter) + распутыватель циклических зависимостей в эталонной реализации питона?
Ты точно владеешь темой?


Ответить | Правка | Наверх | Cообщить модератору

152. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Очередной аноним (?), 28-Фев-18, 14:11 
> ... А wasm нужен для реализации вещей сильно зависящих от помех
> которые может добавить GC и не такой высокой производительности JIT-а по
> сравнению с компилируемыми языками.

Вы видать совсем далеки от темы wasm'а. wasm делается как универсальная платформа, для разных языков программирования, в том числе и для языков с GC и без оного. Кстати, никто Вам не помешает запилить свой очередной язык программирования с GC и прицелом для использования в среде wasm и реализовать GC в финале тоже в wasm'е. Но это может быть и не понадобится, ибо в wasm'е реализуется в том числе и GC, наряду с тредами. Т.е. можно будет попытаться использовать реализуемый в данное время встроенный GC.

Посмотрите на roadmap

http://webassembly.org/docs/future-features/

там есть и треды и GC, пока конечно "in progress"

Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

47. "Компания Google анонсировала язык программирования Dart 2"  –2 +/
Сообщение от Аноним (-), 25-Фев-18, 01:59 
> Почему JS неадекватен? Этот штамп тянется за ним и тянется. Но в
> чем его неадекватность как языка программирования?

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

В результате один только гайд безопасного кодинга на JS от гугли занимает добрых страницы три. Сишники глядя на это ржут как кони, у них мануал раза в три короче.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

52. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от angra (ok), 25-Фев-18, 02:30 
> В результате один только гайд безопасного кодинга на JS от гугли занимает  добрых страницы три. Сишники глядя на это ржут как кони, у  них мануал раза в три короче.

Ты наверное не в курсе, но в языке С как и в js слабая типизация, толку от которой практически никакого. Разница между ними в том, что в js типизация неявная динамическая, а в C явная статическая и это ни разу не преимущество C с точки зрения написания кода.
Ну и мануал к С на пару страниц говорит лишь о фиговом качестве мануала. В своё время K&R накатали не самую маленькую книгу, которая действительно была мануалом и даже какое-то время выполняла роль спецификации этого языка.


Ответить | Правка | Наверх | Cообщить модератору

126. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Crazy Alex (ok), 26-Фев-18, 01:44 
> Ты наверное не в курсе, но в языке С как и в
> js слабая типизация, толку от которой практически никакого. Разница между ними
> в том, что в js типизация неявная динамическая, а в C
> явная статическая и это ни разу не преимущество C с точки
> зрения написания кода.

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

Плюс чем больше кодовая база - тем важнее типы как способ документирования

Ответить | Правка | Наверх | Cообщить модератору

140. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 27-Фев-18, 22:10 
> Ты наверное не в курсе, но в языке С как и в
> js слабая типизация, толку от которой практически никакого.

Нет, вот извини, если я в сишной функции заявил параметр как uint8_t, но попробую отдать uint32_t или строку, современный компилер даст мне жирный варнинг что я хочу что-то не то. Если и правда так и задумано, могу на свой страх и риск форсануть тип cast'ом, но это явное деяние под свою ответственность. Если я железно уверен что пистолет не заряжен, так и быть, можно им целиться в пятку, если это дает какие-то удобства.

Яваскрипт же молча переделает тип, все продолжит работать. Но сильно потом сломается, потому что логика очень неявно порушена. Поэтому яваскриптеры часто сморят в дуло пистолета. Который почему-то обычно оказывается заряжен на их горе. И поэтому прострел мозга в JS проектах - дело обычное.

> Разница между ними в том, что в js типизация неявная динамическая, а в C
> явная статическая и это ни разу не преимущество C с точки зрения написания кода.

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

> Ну и мануал к С на пару страниц говорит лишь о фиговом качестве мануала.

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

> В своё время K&R накатали не самую маленькую книгу, которая действительно была
> мануалом и даже какое-то время выполняла роль спецификации этого языка.

Если для JS написать книгу ТАКОГО уровня - это будет книжная полка с фолиантами БСЭ как минимум.

Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

54. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 25-Фев-18, 04:17 
> Сишники глядя на это ржут как кони, у них мануал раза в три короче.

Это те сишники из 5-б, которые ни о SEI CERT C ни о MISRA не слышали, ведь хеловорлды отлично пишуться и без них? Охотно верим!

Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

139. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 27-Фев-18, 21:50 
> Это те сишники из 5-б, которые ни о SEI CERT C ни
> о MISRA не слышали, ведь хеловорлды отлично пишуться и без них?
> Охотно верим!

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

На JS же накорябать что либо под требования для которых актуальна MISRA - не возможно в принципе. Лагнет в скрипте сборщик мусора - и полетит поезд под откос! Потому что продолбал момент когда скорость сбрасывать пора было. А то что сишники в отличие от вебмакак поездами, автомобилями и самолетами смеют рулить - заставляет их идти намного дальше в вопросах паранои и анализа способов прострела пяток. Поэтому те кто поездами управляет - JS отсеивают как явно неподходящий еще на подлете, понимая что требования уровня MISRA к нему предъявлять бесполезно.

Ответить | Правка | Наверх | Cообщить модератору

149. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 27-Фев-18, 23:32 
>> Это те сишники из 5-б, которые ни о SEI CERT C ни
>> о MISRA не слышали, ведь хеловорлды отлично пишуться и без них?
>> Охотно верим!
> Все познается в сравнении. Понимешь, на си написать софт для ответственных применений
> с предсказуемым временем реакции и адекватным восстановлении при сбое по крайней
> мере можно.

...
>Поэтому те кто поездами управляет - JS отсеивают как явно неподходящий еще на подлете, понимая что
>требования уровня MISRA к нему предъявлять бесполезно.

Суть в том, что мизра не мизра, а вот знать хотя бы половину всех упомянутых в SEI CERT граблей для написания нормальных программ на си очень желательно.
Но спрыг с темы толщины необходимых стандартов зачетный, не спорю - был бы ЖСником или питонистом, возможно даже и прокатило бы )

Ответить | Правка | Наверх | Cообщить модератору

150. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 28-Фев-18, 05:58 
> Суть в том, что мизра не мизра, а вот знать хотя бы половину всех упомянутых
> в SEI CERT граблей для написания нормальных программ на си очень желательно.

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

А читать MISRA есть смысл при желании влезть в очень критичные и требовательные области, типа транспорта и управления опасными процессами. Все это есть, практикуется и си для этого используется. А на JS... по счастью те кто управляет опасными процессами обычно понимают что в случае серьезного факапа с них спросят. Вплоть до уголовного преследования. Это очень мотивирует их не косячить. Если такие стандарты применить к яваскриптерам... они ж поголовно перекочуют в тюрьмы. Потому что и близко не могут оценить предсказуемость своего крапа на потребном уровне. Вот ты сможешь дать с JS гарантии что система никак и никогда не задумается более чем на 10 мс? С аппаратным ресетом по вачдогу если это все же произошло? На си гамно вопрос, любой микроконтроллер такое обеспечит на раз.

> Но спрыг с темы толщины необходимых стандартов зачетный, не спорю - был
> бы ЖСником или питонистом, возможно даже и прокатило бы )

Как по мне - лучший QC test софта это когда разработчик(и) готовы доверить свои жизни и здоровье своему коду, вплоть до того когда это рулит hard realtime процессами.

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

Ответить | Правка | Наверх | Cообщить модератору

60. "Компания Google анонсировала язык программирования Dart 2"  –1 +/
Сообщение от Аноним (-), 25-Фев-18, 05:42 
Да дално. В крупных проэктах и без этого ошибок хватает.А что до сишников... пусть пишут веб-сервисы на сях. Долгих лет им жизни!
Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

146. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Аноним (-), 27-Фев-18, 23:06 
> Да дално. В крупных проэктах и без этого ошибок хватает.А что до
> сишников... пусть пишут веб-сервисы на сях. Долгих лет им жизни!

Сишник пишущий вебсервис безопаснее чем жабаскриптер пишущий автоматическое управление поездами...

Ответить | Правка | Наверх | Cообщить модератору

59. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Krozemail (??), 25-Фев-18, 04:47 
> Почему JS неадекватен?

1. Реализация ООП в JS - это полный трындец. Говорить что она (реализация) хоть сколько-нибудь вменяемая может только тот, кто кроме JS больше ничего не видел.
2. Strict Mode должен быть включен по дефолту. А так об этой фиче узнают только после тысяч строк г****кода.

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

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

67. "Компания Google анонсировала язык программирования Dart 2"  –1 +/
Сообщение от An (??), 25-Фев-18, 07:59 
>> Почему JS неадекватен?
> 1. Реализация ООП в JS - это полный трындец. Говорить что она
> (реализация) хоть сколько-нибудь вменяемая может только тот, кто кроме JS больше
> ничего не видел.
> 2. Strict Mode должен быть включен по дефолту. А так об этой
> фиче узнают только после тысяч строк г****кода.
> Хотябы эти две эти вещи поправить, и им уже можно будет им
> пользоваться.

1. Она просто другая и менее строгая, чем классическая реализация классов из других языков. Постепенно улучшают.
2. es6 модули парсятся по умолчанию в строгом режиме. Поэтому считайте что пофикшено.

Ответить | Правка | Наверх | Cообщить модератору

72. "Компания Google анонсировала язык программирования Dart 2"  +/
Сообщение от Crazy Alex (ok), 25-Фев-18, 09:09 
Как минимум - скопы ещё
Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

53. "Компания Google анонсировала язык программирования Dart 2"  –1 +/
Сообщение от KonstantinB (ok), 25-Фев-18, 02:47 
Самое забавное тут то, что второй Dart намного больше похож на Typescript.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

101. "Компания Google анонсировала язык программирования Dart 2"  –1 +/
Сообщение от vitalif (ok), 25-Фев-18, 14:19 
Ничем, сдохнет, да и всё
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру