Pull to refresh
41

Пользователь

0,1
Rating
18
Subscribers
Send message
А как это всё внутри устроено? На чём написано? На C#, если я правильно понял по исходникам GitHub? А то их там много и могу ошибаться.
О, так вообще всё шикарно получается — всё в runtime работает и не требует предварительной компиляции! Но при таком раскладе возможно увеличение времени старта — на генерация byte code. Не замечали такого? Или оно совсем мало?
Статья интересная. Сам пробовал на JNA писать. Понравился своей простотой.

А в плане использования не могли бы вы объяснить, как это выглядит? Вот в JNA я описал интерфейс и вызываю метод, который загружает dll (возьмём Windows) и делает инстанс интерфейса для этой dll. И всё. Больше ничего не нужно прописывать, главное, чтобы JNA был в classpath и приложение могло найти dll. А здесь как? Вы говорили, что генерируется byte code. А на каком этапе это происходит? При сборке? Т.е. есть ли какой нибудь gradle задача (для примера), которая при сборке обрабатывает исходники и генерирует byte code? Например, как в AspectJ CTW. Я build.gradle вашего проекта посмотрел, но ничего такого не нашёл (возможно, плохо искал) и pdf презентации тоже посмотрел.

Вообще если это так же просто как JNA, но так же быстро как JNI, то потрясающе! :)

P.S. Странно, что reflection такой медленный, его же вроде от версии к версии ускоряют.
Читал о шаблонах в xsd в samolisov.blogspot.ru/2013/01/xml.html Там, кстати, «Райского сада» нет.
Соглашусь, тема вообще интересная — я когда xsd писал не подозревал о существовании шаблонов в такой, вроде бы простой, области. Сам использовал «Венецианское жалюзи» — удобно при описании больших типов со вставкой комментариев. Если «Матрёшку» использовать, то будет большой тип, в котором сложно ориентироваться, в моём случае.
Кстати, и как книга? Я её видел и удивился, что такое есть вообще!
Ходил на такие квесты — понравилось. Задавался вопросом, как такое может быть устроено, а тут как раз такая статья! Спасибо!
Несколько вопросов:
У вас в квестах только «электрическая» логика реализована? Я, например, сталкивался с заданием, где была проволока из материала с памятью — при нагреве она изменяла положение и становилась цифрой, которая нужна для кода.
Кто и как придумывает квесты и задания к ним?
В какой IDE пишете для Arduino?
Ссылок на фирму, для которой делаете квесты, не будет? :)
P.S. Порадовался за ссылку на chipster — сам им пользуюсь :)
Вот это пруфы так пруфы!
P.S. Полностью согласен — сам работал с проектом, где использовались коды вместо Exception. Очень не удобно обрабатывать, много лишних проверок.
На эту тему в одной из статей на хабре про Go было обсуждение — плюсы и минусы исключений и подхода Go рассматривали.
Конкретно по Вашему примеры функция bar(x) и не должна вызваться, т.к. до этого функция foo(x) не отработала. Если не так, то плучим неопределённое поведение. Ну плюс исключений, если нужно вот так подряд методы вызывать, не нужно каждый раз проверять, что метод вызвался корректно и если нет, то прервать вызов методов. А интересно, как в Rust такой, на мой взгляд, типичный use case реализуется — нужно вызывать подряд несколько методов, например по работе с с СУБД, и если была ошибка, то сделать rollback, а если после всех этих вызовов небыло ошибки, то commit?
А как в Rust с управлением памятью? Есть GC?
Вообще фишки языка мне понравились, спасало за обзор!
Меня заминусовали и оставили без ответа. Наверное, я не ясно высказался.
Я первый раз вижу пример, чтобы на GitHub были коммерческие проекты. А уж тем более HH. Я конечно знал, что у GitHub есть коммерческое применение, а не только open source, но чтобы им пользовались вот прямо буквально рядом с тобой, этого я не ожидал.
В связи с чем вопрос:
Почему выбрали GitHub, а не свой локальный VCS сервер? А то я сколько в разных компаниях видел — все исходники хранят у себя.
Т.е. у вас код на GitHub храниться?
точки над ё
— поставить или убрать? А то их в статье нет :)
А какими инструментами в HH пользуются для code review? Что за VCS? А то статья не полная — для совсем уж начинающих, как заметил комментатор выше.
А как воспользовался такой скидкой в Москве? Я почему спрашиваю — я два раза сдавал экзамены и все два раза это было так:
1) Ищутся в сети компании, у которых можно сдать экзамен.
2) Приходишь к ним, платишь им деньги
3) Сдаёшь.

А что делать в случае покупки экзамена напрямую в pearsonvue? Куда потом идти сдавать? В эти же компании?
А как у вас обвязка в Протеусе работает в плане соответствия реальным данным? Я читал, что Протеус для моделирования аналоговых схем не очень подходит — он больше по микросхемам. Не могли бы Вы привести пример проекта с обвязкой? Сам я пробовал в Протеусе моделировать — в нём всё работало, а в железе — нет. Хотя тут может мои незнания повлияли — сам я больше по ПО, чем по железу :) И вообще, может статью напишете по разработке в Протеусе, а потом воплощение в железе? :)
4. В таком ключе await явно выигрывает, да. Вообще идея интересная — внести в синтаксис поддержку многопоточности. Может в дальнейшем это сделают — всё таки направление в развитии в сторону многопоточности явно прослеживается, так может и в синтаксис внесут.
Точно! Я просто забыл, когда он появился — думал, что в 6-ке и не стал писать. Позор на мои седины :)
Ну если проблема только в длинном наименовании типа переменной, то это вообще не проблема — IDE сделают всю работу за программиста по написанию типа.
2. Собственно ниже ответили на счёт var — List list = new ArrayList не аналогично var list = new ArrayList, а если учесть что интерфейс предпочтительно перед реализацией, то это в общем спорная фича.
Интересное сравнение!
1) Да есть этот минус. Под него даже костыли делали в Java 8 в Stream API — были свои stream для примитивов.
2) Насколько я понимаю идеологию Java, это никогда не введут — в Java в почёте строгая типизация. А в var не будет работать, насколько я понимаю.
3) По этому пункту ничего сказать не могу — сам Stream API не много пользовался. Скорее всего это сможет прокомментировать lany
4) Как вы сами сказали, сравнивали без javaRX — с лямбдами это было бы менее многословно.

Добавлю тут erase generic — если нужно знать тип переменной, то приходится помимо неё так же и её класс передавать, что немного увеличивает код. Хотя type safe остаётся :)

А вообще, вы пробовали Kotlin? e.g. habrahabr.ru/post/258683 Насколько я понимаю, это то что вам нужно.
we need to go deeper — в Java 7 были большие изменения в JVM: быстрый гуглёж habrahabr.ru/post/125202 плюс добавление NIO2. А так язык, да, не сильно изменился — try-with-resource, multi-catching и swich-case-string. Вообще JVM с каждой версией сильно меняется, без изменения самого языка. Пруфы — выступления на JPoint разработчиков JVM.
P.S. Спорить не сильно хочется, но, надёюсь, мой комментарий сделай вас лучше, как программиста, и вы будете различать синтаксис и платформу. Собственно, вам уже выше объяснили, но дополню их комментарии.
А Вы на чём её запускаете? EV3, NXT или RCX? Нужно ли было работать при жёстких таймингах? У меня, например, с HaikuVM есть проблема — хочу определённый сигнал послать, с определённым интервалом — порядка нескольких микросекунд — и это нельзя сделать из Java, т.к. там нельзя оперировать такими задержками из за большого overhead'а вносимого Java.

Information

Rating
3,440-th
Date of birth
Registered
Activity