LINUX.ORG.RU

Ruby без Rails

 ,


0

4

появилось немножко свободного времени, решил посмотреть что есть в мире Ruby интересного помимо рельсов, но сходу не нашел ничего. Первое что удивило, если вакансия то про рельсы, по чистому руби не нашел ничего. Второе что удивило, нет ничего для разработки гуя для MRI 1.9.3/2.0 чтобы работало и на венде и на линуксе без танцов с бубном. Ну и на последок про GIL, зачем он нужен если не дает ни потокобезопасности ни возможности юзать нативные потоки?

что есть в мире Ruby интересного помимо рельсов, но сходу не нашел ничего

Масса интересных gem-файлов :) … Зайди на github и посмотри!

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

Дык паскаль академщина ещё та.

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

Даже мне Паскалисту

А вас, детсадовцев, не спрашивали.

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

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

Вот так правильнее.

Дофига: Tcl/tk, Racket/gui, ...

monk ★★★★★
()
Последнее исправление: monk (всего исправлений: 1)
Ответ на: комментарий от KRoN73

Является ли машинный код x86 таковым для ARM? Является ли машинным — код JVM при исполнении на Java-процессоре?
И показывающая ежегодное падение уровне знаний среднего ЛОРовца :)

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

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

Могу дать бинарник однострочника на перле или чего посложнее. Надо?

Вот тебе исходник на руби:
https://github.com/Novator/Pandora/

Даю 48 часов чтобы скомпилировать его в машинный код и выслать мне для проверки. Иначе, «двойка» в дневник за четверть! xDD

Время пошло.

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

Приечание: машинный код - это такой код, который работает без интерпретаторов и виртуальных машин. Если чо, у меня lubuntu+i386 - компилировать код под эту архитектуру )

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

Приечание: машинный код - это такой код, который работает без интерпретаторов и виртуальных машин.

Тогда любой байткод потенциально машинный а некоторые традиционные байткоды — машинные на практике.



Ладно, я понял уже, что ты совершенно погряз под грузом x86-стереотипов.

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

под грузом x86-стереотипов.

а также под грузом amd64-стереотипов, arm-стереотипов и т.д.

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

готов ответить на дополнительные вопросы.

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

готов ответить на дополнительные вопросы

Да какие там вопросы, итак всё с твоим уровнем технической эрудиции понятно :)

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

Ты бы лучше учебник почитал, чем на лоре сидеть.

Это тебе нужно читать больше, сынок.

Более лютого говнокода я ещё не видел.

А что ты вообще видел?

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

Да какие там вопросы, итак всё с твоим уровнем технической эрудиции понятно :)

Тебе нечем крыть, вот и нудишь. Я тебя в базовых вещах уделал.

Novator ★★★★★
()

Для самых маленький

Байт-код выполняется виртуальной машиной/интепретатором, они не всегда выполнены программно, но от этого байт-код не становится машинным, хоть и выполняется быстрее

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

виртуальной машиной/интепретатором, они не всегда выполнены программно

Гм. Если имеется в виду «иногда они выполнены аппаратно», то я прошу разъяснить мне разницу между 1) виртуальной машиной, выполненной аппаратно, и 2) физической машиной.

Если же имеется в виду выполнение святым духом, то вопросов больше нет.

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

Даю 48 часов чтобы скомпилировать его в машинный код и выслать мне для проверки. Иначе, «двойка» в дневник за четверть! xDD

Гм. Я, конечно, не спец, но мне кажется, что собрать единый бинарник из интерпретатора руби и кода на этом же недоязычке не должно быть сложно. Вероятно, такие утилиты уже есть.

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

аппаратная виртуалка (сопроцессор) отдает машинный код основному процессору, так же как программная виртуалка отдает процессору машинный код, только програмная продолжает использовать процессор для генерации машинного кода, а аппаратная нет

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

аппаратная виртуалка (сопроцессор) отдает машинный код основному процессору,

То есть, скажем, код x86 — уже не машинный?

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

Гм. Я, конечно, не спец,

А время идёт..

собрать единый бинарник из интерпретатора руби и кода на этом же недоязычке не должно быть сложно

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

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

у каждого семейства процов свои интрукции, есть MISC есть RISC, язык ассемблера у всех разный, но прям настолько низко я не силен. И что значит код x86 ? Насколько я понимаю машинный код тоесть нулики и единицы будут разные даже на i7 sandy-bridge\iby-bridge в том время как ассемблер будет одинаковый.

Derzkii
() автор топика
Ответ на: комментарий от Novator

А время идёт..

Не понял.

мне подавай машинный код (настоящий, скомпилированный, как и обещали).

Любой машинный код (даже хелловорлд) распоряжается какими-то данными. В данном случае данные будут представлять собой скрипт.

во-вторых, между «должно быть» и «есть» две больших разницы.

Простой гуглёж выдал такую штуку как Ocra. Оно, правда, вроде, только под винду.

а когда начинаешь ручками делать - выясняются интересные вещи.

Так потому что не надо ручками.

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

но прям настолько низко я не силен.

А ещё ниже?

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

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

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

Aesthete ★★
()

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

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

На самом деле, народ не может привыкнуть к таким простым и удобным вещам, как: всё - выражение, ФВП с блоками и ещё ряд менее значимых штук.

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

ООП? Никто не мешает писать на ООП языке в процедурном стиле хоть это и рак, а само ООП не такое уж и сложное в отличие от той же адресной арифметике и многопоточности ИМХО

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

Мне вот язык нравится, гибкий и красивый, а получается лисп.

Ну не такой уж Ruby и красивый, на самом деле. Lisp правильнее и лучше, конечно же.

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

нельзя сравнить ООП и функциональщину, я имел ввиду лисп как хороший, но ультрахипстерский ЯП

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

чем это порог выше?

Мне кажется, что руби не юзают по нескольким причинам:
1) «философичен»,
у него есть определенная идеология («всё есть объект»), и пока в нее не вникнешь, тяжело понимать руби.
2) синтаксис в руби замроченный,
например во всех языках «<» - это «меньше», а в руби это может означать что угодно: от «меньше» до «является потомком».
такой же зоопарк вокруг других символов «+», «*» и т.д. А все потому что это не операторы, а функции, которые легко переопределить, и это тоже сносит башню новичкам.
3) толерантность в синтаксисе затрудняет чтение чужого кода.
кто-то пишет «begin .. end», а кто-то «{ .. }», вот и сиди вникай.
4) куча «модных» штучек,
как-то итераторы, модификаторы, синглтоны и т.д. не каждый месье готов выдержать все эти извращения.

Вот и получается: порог вхождения действительно выше.

Novator ★★★★★
()
Последнее исправление: Novator (всего исправлений: 1)
Ответ на: комментарий от Novator

у него есть определенная идеология («всё есть объект»), и пока в нее не вникнешь, тяжело понимать руби.
в руби это может означать что угодно

Отличная идеология, надо это сделать девизом языка :3

По-моему причина проще: остальные ниши просто занял пистон, у которого гораздо больше батареек, почти везде он есть по дефолту и толерантность в синтаксисе (c) гораздо меньше.

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

честно говоря это ни о чем аргументы 1) Что тяжелого в полностью ООП языке? Если нет необходимости юзать переопределние всего и вся то и не надо юзать 2) синтаксис заморочен? В крестах еще хуже, но им это не мешает 3) это поначалу бесит, но никто не пишет {} если не одна строчка 4) это просто модные слова не скрывающие в себе никакой практической сложности, на самом деле это избавляет от тонн велосипедов

Derzkii
() автор топика

Гуй: shoes, qt, etc. Но зачем?

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

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

Derzkii
() автор топика
Ответ на: комментарий от Deleted

у которого гораздо больше батареек

А у Перла ещё больше.

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

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

Derzkii
() автор топика
Ответ на: комментарий от Novator

ну во-первых, интерпретатор+байткод меня не устроит, мне подавай машинный код (настоящий, скомпилированный, как и обещали).

Скомпилированый? А из исходных кодов байткод как по твоему получается? Не компилируется? Может бежит? Или светится? Ну а чо? Дети, теперь мы засветим наши исходные коды в байткод.

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

Шас он тебе ответит про маш.коды и блаблабла. Читать же теперь не модно, модно сразу иметь своё мнение прямо с детского сада.

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