Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Интересные ссылки и их обсуждение (https://javascript.ru/forum/offtopic/45898-interesnye-ssylki-i-ikh-obsuzhdenie.html)

Tim 19.05.2014 15:12

monolithed,
Саппорт это всегда квест. Иногда легче самому подумать чем часами переписываться с ними. Что касается гугла, я таки смог туда написать без особых проблем. Обещали ответить. Посмотрим.

kobezzza 19.05.2014 16:05

Я пару раз писал вопросы на гитхаб гугла, мне отвечали, хотя и не быстро. А вот на баги они довольно быстро отвечают :)

monolithed 19.05.2014 16:58

Цитата:

Сообщение от kobezzza
Я пару раз писал вопросы на гитхаб гугла, мне отвечали, хотя и не быстро. А вот на баги они довольно быстро отвечают

Гугл выложил код gmail'a? :D
Кстати отличная идея — советовать "хомячкам" ставить PR :D

Tim 19.05.2014 17:10

Цитата:

Сообщение от monolithed
Гугл выложил код gmail'a?

Не понял юмора. Это надо понимать как "у гугла не может быть опенсорсных проектов"?

Цитата:

Сообщение от monolithed
Кстати отличная идея — советовать "хомячкам" ставить PR

Вообще ни чего не понял.

nerv_ 19.05.2014 17:48

Цитата:

Сообщение от cyber
как то что у майла не может быть не нормальных сервисов, как и опен соурс продуктов))

делаем вывод - у мейла все гуд

не !== ни (КЭП)

kobezzza 19.05.2014 17:59

Цитата:

Гугл выложил код gmail'a?
Ну, у гугла не только gmail :)

https://github.com/google

Gozar 19.05.2014 18:19

Цитата:

Сообщение от melky
автообновление приложений отключается

О, точно, я и забыл, а т.к. все время 2G, то найти не мог. Вот и пример юзерфрендли интерфейса.

melky 19.05.2014 18:49

Цитата:

Сообщение от Sweet (Сообщение 312485)
ГДЕ ИНТЕРЕСНЫЕ ССЫЛКИ, БЛЕАТЬ!!!

обожаю этот форум :lol:

Цитата:

Сообщение от Gozar
Вот и пример юзерфрендли интерфейса.

действительно, интерфейс у андроида ну просто пздц)

cyber 19.05.2014 18:51

Цитата:

Сообщение от melky
действительно, интерфейс у андроида ну просто пздц)

<sarcasm>ага ios better :)</sarcasm>

melky 19.05.2014 19:50

Цитата:

Сообщение от cyber
<sarcasm>ага ios better </sarcasm>

подаём надежды на Tizen \ FireFox OS

cyber 19.05.2014 19:53

Хотел бы по клацать сматр на
Цитата:

Сообщение от melky
FireFox OS


kobezzza 20.05.2014 12:23

Mozilla развивает ScanJS, статический анализатор кода для JavaScript

nerv_ 20.05.2014 22:55

Курсы подготовки к ЕГЭ / Домашняя школа
Цитата:

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

l-liava-l 21.05.2014 01:25

nerv_,
Глядишь скоро максимус робота построит

kobezzza 21.05.2014 09:26

Цитата:

Сообщение от l-liava-l (Сообщение 312717)
nerv_,
Глядишь скоро максимус робота построит

Он говорил, что в 25 лет начнёт строить роботов уборщиков, что уже строит план:)

kobezzza 21.05.2014 09:30

Octotree: отображение кода на Github в виде дерева
Выпуск web-браузера Chrome 35, перешедшего на графический стек Aura в Linux

kobezzza 23.05.2014 00:15

Обновление языка программирования Dart 1.4, развиваемого Google для замены JavaScript

l-liava-l 25.05.2014 01:14

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

Как думаешь где дарт приживается? (приживется ли)

kobezzza 25.05.2014 02:14

l-liava-l, ну, Dart это же с одной стороны очередной язык, который транслируется в JS, т.е. ничего плохого в этом нет и использовать можно уже :) Разумеется, что JS никто выпиливать не собирается и в случае добавления нативной поддержки в Chrome, то просто появится дополнительный / альтернативный инструмент и не более того. Напомню, что очень долгое время в IE существовал VBScript и никто от этого не умер :)

С другой стороны гугл пишет отдельную VM, которая на мой взгляд представляет больший интерес в стеке технологий Android, как замена Java, т.к. гугл уже не один год судится с Oracle и недавние принятые законопроекты (в США) о том, что название функций API также охраняются патентами и теперь гугл должен ещё кучу денег ораклам, вот они и хотят уйти от такой зависимости, но т.к. Java им очень нравиться, то они делают свою с блекджеком и шлюхами :)

Что касается JS, то мы видим, что огромное влияние на развитие будущих стандартов оказывают новые "над" языки, тот же ES6 практически полностью копирует CoffeeScript и я считаю это правильно и здорово!

Но нужно понимать, что нет идеального языка и при работе с одним инструментом люди всегда поглядывают на другой. Те кто пишут на Java - пишут свои реализации Python/Ruby на JVM, JS вообще давно входит в стандартную библиотеку (кстати старичка Rhino таки заменили новой VM) и в Java 9 хотят добавить реализацию API node.js. Я уже молчу, что такие языки как Scala, Closure, Groovy которые были придуманы, чтобы уйти от статической неуклюжести Java.

А по другую сторону лагеря мы видим абсолютно другую картинку: люди придумывают всякие Dart и TypeScript, а в JS добавляют настоящие массивы и структуры из С. Вполне возможно, что в ES7 добавят опциональную декларацию типов данных, т.к. по сути сейчас она уже есть в виде JSDoc и её просто закрепят на уровне синтаксиса.

Для меня как для программиста в первую очередь по призванию, а не по ремеслу - это всё кажется чрезвычайно интересным и сейчас, например, меня останавливает от использования того же Dart для проекта над которым я сейчас работаю - это почти 60 тысяч уже написанных строк на JS, но с другой стороны я в свою время поступил довольно мудро и перешёл на использование ES6 с транслятором и уже больше года работаю только так, а вся кодовая база постепенно была переведена на новый стандарт.

Давайте будем откровенными JS < ES6 - это страшное устаревшее нечто, которое почти не развивалось с момента рождения языка и нужно быть знатным извращенцем (ну или просто невеждой), чтобы быть довольным тем что есть. Также мне кажется, что "затачивать" свою мышление под один конкретный инструмент - это в первую очередь вред самому себе, т.к. это останавливает развитие.

Такие вот дела, имхо :)

nerv_ 25.05.2014 11:34

Цитата:

Сообщение от kobezzza
Напомню, что очень долгое время в IE существовал VBScript и никто от этого не умер

кроме самого VBScript'а :)

Цитата:

Сообщение от kobezzza
тот же ES6 практически полностью копирует CoffeeScript и я считаю это правильно и здорово!

только не кофе :cray:

Называется, угадай что:
if ((x) => x * x) {
}


:(

kobezzza 25.05.2014 11:41

Цитата:

Сообщение от nerv_ (Сообщение 313316)
только не кофе :cray:

Называется, угадай что:
if ((x) => x * x) {
}


:(

Странный у тебя пример :)
А вообще Arrow Function - это самое лучшее что есть в ES6, т.к.

1) Очень короткий и ясный синтаксис:

var foo = (x) => {
    return x * x;
};

// Ещё короче
var foo2 = (x) => x * x;

// Ещё короче :)
var foo3 = x => x * x;


2) Наследует this контекста в котором функция декларирована

var foo = {
  go: function () {
    var bar = () => {
      this.val // 1
    };
  }

  val: 1
};


3) Внутри Arrow Function не доступна ссылка arguments, что делает возможным дополнительную оптимизацию на уровне JIT и даст ощутимый профит при использовании вместе со всякими итераторами и т.д. ну а если нужен аналог arguments, то

var foo = (...args) => {
    ...
};

monolithed 25.05.2014 13:08

Цитата:

Сообщение от nerv_
if ((x) => x * x) {
}

Все очевидно — такая запись не имеет смысла

Презервативы с подогревом

Gozar 25.05.2014 14:07

Цитата:

Сообщение от monolithed
такая запись не имеет смысла

Может он имел в виду, что будет нечто подобное http://jsfiddle.net/5954r/:
var f, y = 10; 
if (f = (x) => x*x, f(y)) alert('it is worked!');

?

nerv_ 25.05.2014 14:14

Цитата:

Сообщение от monolithed
Все очевидно — такая запись не имеет смысла

это называется найди 10 отличий
1.
// (x) => x * x
if (function(x){return x*x;}) {
    alert(1);
}

if ((x) <= x * x && (x) => x * x && (x) >= x * x) {
    alert(1);
}

2.
var t1 = (function(x) {
    return x*x;
}());

// вот тут x() что я делаю, угадай:
// 1. вызываю arrow function
// 2. или вызываю x()
var t2 = ((x) => x*x());

Если ты выберешь, любой из вариантов, я скажу, что имел вииду другой.
Если ты ничего не выберешь, ты не угадал :D

kobezzza, я не против тех плюшек, которые несут arrow function. Но синтаксис, по крайней мере на первый взгляд, мне не нравится :(

monolithed 25.05.2014 14:17

Цитата:

Сообщение от Gozar
Может он имел в виду, что будет нечто подобное http://jsfiddle.net/5954r/

var f = x => x * x;

if (f(10)) alert('it is worked!');

Я бы так написал :)

Цитата:

Сообщение от nerv_
но синтаксис, по крайней мере на первый взгляд, мне не нравится

Он идеален, за одним исключением, что нужны пустые скобки если нет параметров

Gozar 25.05.2014 14:28

Цитата:

Сообщение от nerv_
синтаксис, по крайней мере на первый взгляд, мне не нравится

Цитата:

Сообщение от monolithed
Я бы так написал

;)

А мне нравится, надоели уже эти function и return-ы, занимают время и место.

monolithed 25.05.2014 14:32

Цитата:

Сообщение от Gozar
А мне нравится, надоели уже эти function и return-ы, занимают время и место.

Ага, еще бы ввели гарды и убрали лишние скобки цены бы не было :)

nerv_ 25.05.2014 14:53

Цитата:

Сообщение от Gozar
А мне нравится, надоели уже эти function и return-ы, занимают время и место.

представь, что у тебя на экране дофига кода вида
var b = x => 2 * Math.PI;
var a = с <= z + y;

При беглом просмотре не понятно где функции, а где НЕ функции.
Т.е. приходится вчитываться, а это время.

Касательно времени набора - автокомплит. Я пишу "fu" или "re" и этого достаточно. А вот читается в разы лучше.

Неужели мы движемся в сторону ручной обсфукации :(

monolithed 25.05.2014 15:06

Цитата:

Сообщение от nerv_
Неужели мы движемся в сторону ручной обсфукации

По твоей логике, Haskell, Erlang, Python, Lisp это обфускаторы?

Даже в C# и С++ есть лямбда-выражения

Gozar 25.05.2014 16:48

Цитата:

Сообщение от nerv_
автокомплит

Да, есть такой. Не решает проблему:
Цитата:

Сообщение от Gozar
занимают время и место



Цитата:

Сообщение от nerv_
читается

Как выучишь, так и читается. Я помню, что когда увидел впервые Javascript сильно удивлялся и ругался, а когда узнал про Регулярные Выражения думал - как вообще можно понять, что в подобной строке
// /^(?:(?:(?:http(?:s)?:\/\/|www\.)[-.a-z0-9а-яё]+?\.[a-zрф]{2,5}(?::[0-9]+)?)(?:\/[-a-z0-9а-яё.,!?&#$@/:;+_=%|^*}{\\`~]+[^.,!?\s\["<])?)$/
написано?! Однако эту строку написал я через полгода. И сейчас меня совсем не парит подобная запись и читается она нормально ;)

Мир разнообразен и хочу, чтобы js больше был похож на python, нежели на ООП php :) или лапшу. В js слишком многабукв. Давно пора добавить сахарку.

melky 25.05.2014 16:57

Цитата:

Сообщение от Gozar
Давно пора добавить сахарку.

а я реги вот так пишу:

var reg = new RegExp([
    '^(?:(?:(?:http(?:s)?:\\/\\/|www\.)' // протокол
    // остальное
].join(""));


получается комментрированная рега :)
имхо, равнение на кофескрипт - неок
да, стрелочные функции - крутая вещь, но ... пацаны с C# на JS пересели: "давайте ещё LINQ что ли бахнем"
хотя, в целом, согласен - их не хватало. но не хватало не именно "функций без return и function" а именно коротких и броских лямбд.

monolithed 25.05.2014 16:59

Цитата:

Сообщение от Gozar
Однако эту строку написал я через полгода.

Интересно на изучение J тебе столько времени понадобится? :D

quicksort =: (($:@(<#[), (=#[), $:@(>#[)) ({~ ?@#)) ^: (1<#)

nerv_ 25.05.2014 18:17

Цитата:

Сообщение от Gozar
Не решает проблему

в своем сообщении выше я сделал акцент на том, какую проблему он решает
Цитата:

Сообщение от nerv_
Касательно времени набора - автокомплит


Цитата:

Сообщение от Gozar
И сейчас меня совсем не парит подобная запись и читается она нормально

на мой взгляд она не читается. Просто потому, что приходится вложенность скобок очень долго высматривать (что, где, куда). Это происходит потому, что нет отступов. Того самого режима "свободного форматирования", который есть в Perl.

Цитата:

Сообщение от monolithed
Интересно на изучение J тебе столько времени понадобится?

предположу, что нисколько. Он не будет его изучать :)

Gozar 25.05.2014 18:33

Цитата:

Сообщение от nerv_
в своем сообщении выше я сделал акцент на том, какую проблему он решает

А я сделал акцент, что проблему времени он не решает, несмотря на автокомплит:
Цитата:

Сообщение от Gozar
Не решает проблему:
занимают время и место

Рекурсия!

Цитата:

Сообщение от nerv_
на мой взгляд она не читается.

А на мой взгляд javascript не читался, пока я не стал его изучать. Это все демагогия.

Все выглядит как каша, пока не понимаешь смысл.

Gozar 25.05.2014 18:46

Это по твоему читается хуже:
[1, 2, 4, 3].sort( (a, b) => a<b ? a : b );


, чем это:
[1, 2, 4, 3].sort(
function(a, b){ 

if (a<b) {
return a;
}
else {
return b;
}
);

?
Можно еще и переменных насоздавать :)

Aetae 25.05.2014 18:53

Цитата:

Сообщение от Gozar (Сообщение 313384)
Это по твоему читается хуже:

хуже, потому что
Цитата:

Сообщение от Gozar (Сообщение 313382)
А на мой взгляд javascript не читался, пока я не стал его изучать.

читался.
Свои первые "поделия" на js я писал не зная ничего, ориентируясь чисто на логику и примеры. И оно работало.)
С новым синтаксисом уже так не получится. Для олдфагов ничего не изменится - мы примем к сведению новые фичи и спокойно продолжим кодить. Но вот порог вхождения прилично повысится.
Хорошо это или плохо - другой вопрос.

monolithed 25.05.2014 19:15

Цитата:

Сообщение от Aetae
Но вот порог вхождения прилично повысится.

Значит дороже будут специалисты, делов то :)

Gozar 25.05.2014 20:37

Цитата:

Сообщение от Aetae
не зная ничего

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

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

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

Любой клоун может написать нечитабельный код. Твои предрассудки не должны мешать мне пользоваться дополнительными удобствами. Не нравиться новый js не пиши на нем. Можно подумать тебя кто-то персонально заставляет?!

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

Что-то вы ребята ноете как будь-то вам не новые инструменты дают, а старые ломают. Негоже гнать!

Gozar 25.05.2014 20:48

Цитата:

Сообщение от Aetae
С новым синтаксисом уже так не получится.

Ты не забыл, что раньше даже книжек по js почти не было? Сейчас литературы достаточно. Если бы не было литературы, я бы задумался над твоими словами, а так я вижу лишь нытье ...

Js дошел до ручки, его либо дополнять либо выкинуть на помойку. О чем как капитан очевидность скажу не стесняясь. Уже и Дарт и Тайпскрипт изобрели, лишь бы хоть что-нибудь сделать с этим "убожеством". Он не был "убожеством", но со временем стал. И я не хочу, чтобы его постигло забвение. Я хочу писать на современном языке, а не поддерживать изо всех сил велосипедостроение.

Если бы не es6 я бы точно стал писать на "кофе". Надоело плести макароны.

Gozar 25.05.2014 21:17

Цитата:

Сообщение от melky
получается комментрированная рега

Прям Perl style :)

http://www.perl.com/pub/2003/06/06/r...ting_regex ps


Часовой пояс GMT +3, время: 10:28.