Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Я думаю, что их объяснение резюмирует это:
«Основная причина, по которой мы создали Фан, это написать программное обеспечение, которое может легко работать как на Java VM, так и на .NET CLR. Реальность такова, что многие программы организации привержены одному или Ваш первый вопрос Фана здесь о SO - на пару порядков меньше, чем у Lisp.
Для какой проблемы Fan является лучшим решением? Python и Ruby уже могут работать на обеих виртуальных машинах (или ни на одной из них), иметь большие сообщества и большие библиотеки и, кажется, имеют примерно одинаковый уровень абстракции, но гораздо более зрелые.
Это выглядит очень вдохновленным Ruby. Это говорит, что это УСПОКОИТЕЛЬНО, но я не вижу как точно. Сравните шиканье , который более зрел все же подобный во многих отношениях (его синтаксисом является вдохновленный Python, хотя).
проектные решения сохранить дженерики и пространства имен очень ограниченными сомнительны.
Это очень интересно.
Java (или C #) была создана для устранения зависимости от платформы путем создания JVM (или CLR), которая будет компилировать код в определенный машинный код во время выполнения.
Итак, существует ли язык, который не зависит от виртуальной машины ? ммм .... какого черта?!?!
Опять же, это очень интересная тема, Это может быть будущее ... :) переход на один универсальный единый язык
Я думаю, что это выглядит как отличный язык с точки зрения функциональности, но я не уверен, насколько он полезен. Я не думаю, что это так полезно для .NET и JVM. Java уже кроссплатформенная, и .NET тоже с Mono. Ориентируясь на две виртуальные машины, вы должны использовать только те API, которые доступны на обеих. Вы не можете использовать ни один из замечательных нативных API, доступных для Java и .NET. Я не могу себе представить, что их API настолько же полон, как и Java .NET.
Я никогда не слышал о Фане пару недель назад. Судя по веб-сайту, ему около года, так что он еще довольно молод и недоказан. Однако есть несколько интересных моментов. Во-первых, язык решает проблему параллелизма, предоставляя модель акторов (аналогичную erlang) и поддерживая неизменяемые объекты. Во-вторых, объект следует примеру Scala с выводом типа. Вывод типа позволяет программисту опускать объявления типов, но рассчитывать их на компиляторе, обеспечивая преимущество короткого и чистого кода, как в языке динамического типа, при сохранении эффективности языка статического типа. И, наконец, он кажется очень быстрым языком, почти таким же быстрым, как Java, и действительно близким или превосходящим второй по скорости язык в JM: scala.