Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Ещё один PINQ (https://javascript.ru/forum/project/9253-eshhjo-odin-pinq.html)

Kfuse 06.05.2010 15:05

Ещё один PINQ
 
Вложений: 1
:)
Увидел несколько реализаций LINQ для JS и чё-то захотелось сделать свою (хотя бы в учебных целях). Выкладываю на суд публики результат сегодняшнего утра.

Ecть только where, select, join и sort. Пытался боль-менее скопировать LINQ C# хотя и шёл более простым путём, то есть, напиример, используется sort, a не orderBy (да я и не особо понимаю смысл создания языка в языке с мириадой собственных функций как это сделано в jLINQ). Исполняется отложено, то есть сначала составляется запрос, а потом он уже где-то исполняется над может уже даже над изменёнёнными данными. Дополнительные внутренние массивы создаются только в sort. Возможны вложенные запросы.

Riim 06.05.2010 18:19

Никогда не понимал смысл LINQ. Kfuse, расскажите хоть, наверно не я один такой.

Kfuse 06.05.2010 18:39

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

e1f 06.05.2010 18:49

Kfuse, а чем он хорош, тем, что это еще один велосипед? А безопасность достигается использование bind_param. Так что заодно и мне расскажите, в чем же смысл LINQ :)

Kfuse 06.05.2010 19:04

Почему ещё один велосипед? Что там такого "изобретено"? Это ж просто замыкания и анонимные функции (на мой дилетантский взгляд). Да и нравится мне писать в одну строчку что-то типа
string[] args = Text.Split().Where(s => s.Length > 0).Select(s => s.ToUpper()).ToArray();

e1f 06.05.2010 19:06

Цитата:

Сообщение от Kfuse (Сообщение 54407)
Да и нравится мне писать в одну строчку что-то типа
string[] args = Text.Split().Where(s => s.Length > 0).Select(s => s.ToUpper()).ToArray();

Ааа! Вынос мозга!

P.S. Так в чем же смысл LINQ и чем он лучше bind_param, а?
Riim, насколько я понимаю, LINQ -- это то, как в Zend реализованы конструкторы запросов?

Kfuse 06.05.2010 19:11

У кого?:D

Вы так и не ответили, что такого есть в LINQ о чём можно спросить "а нахрена это?"

e1f 06.05.2010 19:19

У меня, при взгляде на эту белиберду :)

Цитата:

Сообщение от Kfuse (Сообщение 54409)
Вы так и не ответили, что такого есть в LINQ о чём можно спросить "а нахрена это?"

Цитата:

Сообщение от Kfuse (Сообщение 54404)
А чем плох родной для языка и строго типизированный язык запросов? Это ж много лучше и безопасней, чем вписывать строчки текста SQL.

Вот именно об этом я и спрашиваю -- "а нахрена это?"

Kfuse 06.05.2010 19:27

Ну мож вам она белиберда, но своё дело она делала. Мож вы предложите способ покороче?

Цитата:

а нахрена это?
Ещё раз, нахрена что? Анонимные функции, замыкания, функции как объекты вообще, возможность цеплять функции к любым объектам? Что именно вам ненависто из этих составляющих LINQ?

Gvozd 06.05.2010 19:31

Цитата:

Сообщение от Kfuse
Ещё раз, нахрена что? Анонимные функции, замыкания, функции как объекты вообще, возможность цеплять функции к любым объектам? Что именно вам ненависто из этих составляющих LINQ?

сумма составляющих целое, не равна целому
из этих составляющих, с таким же успехом можно собрать jQuery
вопрос:
нафига, вот это общее целое?

Gozar 06.05.2010 19:51

Kfuse,
Каковы преимущества использования LINQ перед не использованием?

У всего есть свои преимущества и недостатки, просто скажите какие они. Может и я тогда пойму нужно мне LINQ или мимо проходи. Пока что мне не понятно. У вас все требуют обоснования необходимости использования такого кода, так обоснуйте!

Kfuse 06.05.2010 19:52

Цитата:

сумма составляющих целое, не равна целому
Да ладно, ещё как равна. :)
Понятно что DOM к Javascripty неизмеримо ближе(пока что) чем базы данных, потому и $ - ваше всё, а join - нафига.

Цитата:

Может и я тогда пойму нужно мне LINQ или мимо проходи
Сейчас, конечно, мимо.

Цитата:

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

Gozar 06.05.2010 20:01

Цитата:

Сообщение от Kfuse (Сообщение 54418)
Да ладно, ещё как равна. :)
Понятно что DOM к Javascripty неизмеримо ближе(пока что) чем базы данных, потому и $ - ваше всё, а join - нафига.

Сейчас, конечно, мимо.

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

Пока не обоснуете, у вас просто кусок говнокода, который не жизнеспособен и подох ещё вчера.

Kfuse 06.05.2010 20:02

Ага, ну тоже отзыв. :)

Gozar 06.05.2010 20:05

это не отзыв, это моё отношение к любому коду без обоснования.

Kfuse 06.05.2010 20:17

Ну вообще-то обоснование этого, если вы прочитали стартовый пост, было поучится и просто любопытство, в том числе действительно для организации подобия LINQ в js нужно писать чуть ли не полноценный парсер как это сделано в JSINQ? Ну и узнать общие идеи на этот счёт.

"Идеи" свелись к "хуита" и "говно". Я не особо ошибся в ожиданиях (благо опыт был), но попытка не пытка. :)

Gvozd 06.05.2010 22:18

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

Riim 06.05.2010 22:19

Kfuse, вам кажется, что на вас все наезжают, потому что вы воспринимаете вопрос "Зачем это?" как "Зачем это в JS? Нам и без ваших великов хорошо." . Здесь 95% php-программисты, про LINQ первый раз слышат, и вопрос нужно понимать совсем напрямую: "Что это вообще такое? Что за LINQ? Расскажите." . Короче, у вас интересуются, а вы думаете, что вас посылают.

Gvozd 06.05.2010 22:37

Riim,
в моем случае вы правы
я PHP-шник до мозга костей, а JS использую как отдушину, чтобы мозги совсем в один бок не костенели.
то, что мне выдал гугл, меня совсем не убедило что LINQ нужен для чего-либо вообще
сам я его не использовал в своих проектах, и не вижу смысла.
поэтому мне бы хотелось знать, а для чего этот инструмент может исопльзоватся лучше, чем инструменты существовавшие до него.
PS лично я в свое время также относился также к SQL
пока не попробовал его скорость и простоту абстракции на простейших выборках.
но, по LINQ-у меньше очевидного материала, а у меня нету желания перерывать весь материал, ради жемчужины, которая возможно для меня ничего не стоит ничего
Надеюсь для таких закостенелых парней, как я тут все таки сообщат плюсы LINQ по сравнению с SQL, или key-value базами, и ихними запросами

Gozar 06.05.2010 23:13

А я от php устал и js для меня это то что доктор прописал. Этот язык мне нравиться намного больше, а теперь еще и as довелось по практиковать :)

Kolyaj 07.05.2010 09:47

Цитата:

Сообщение от Kfuse
А чем плох родной для языка и строго типизированный язык запросов? Это ж много лучше и безопасней, чем вписывать строчки текста SQL.

Все эти родные для языка языки запросов не эквивалентны SQL, и чуть более сложные запросы все равно приходится писать на чистом SQL, иначе или невозможно, или неэффективно. Но даже на несложных запросах лично я не вижу профита от такого подхода.

e1f 07.05.2010 12:50

Цитата:

Сообщение от Kolyaj (Сообщение 54458)
Все эти родные для языка языки запросов не эквивалентны SQL, и чуть более сложные запросы все равно приходится писать на чистом SQL, иначе или невозможно, или неэффективно. Но даже на несложных запросах лично я не вижу профита от такого подхода.

Вот и я о том же, Kfuse.


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