Saboteur, Вот поэтому и интересна статистика. То что приложение должно решать задачу - понятно. Вопрос в том, достаточно ли сил одного человека в среднем по больнице чтобы найти такую нишу, создать приложение и заработать на нем деньги хотя бы сравнимые с тем что можно было за это время заработать просто работая в фирме.
Или весь рынок мобильных приложений уже настолько конкурентен что без команды маркетологов, аналитиков и продакт менеджеров одиночке ничего на нем не светит.
Например - можно решить какую-то проблему при помощи приложения, но без умения продвигать продукт и огромного бюджета на рекламу - приложение не дойдет до потребителя.
Или все же есть примеры когда один человек в условно нормальный бюджет развивал свое приложение.
Я хочу понять, есть ли примеры когда один человек написал приложения и зарабатывает на нем на постоянное основе деньги, сопоставимые с зарплатой его как разработчика в офисе.
Речь не о легких деньгах а о том, насколько это реально и распространено в принципе.
Гарантии не нужны, тут важно понять - есть ли успешные примеры в целом, или заниматься можно только чтобы портфолио набить и шанс сделать это стабильным доходом - как в лотерею выиграть.
Все суть дженериков - перенести ошибки типизации, происходящие во время выплнения программы на этап компиляции, чтобы их можно было выловить как можно раньше. Во время работы, если у вас фактический тип объекта совпадает с типом ссылки, то все ок. Если не совпадает, будет ошибка приведения типов.
P_Alexander: Потому что у типа Object нет ваших полей.
Вы можете обращаться только к тем полям, которые указаны в том типе, в котором вы храните ссылку на объект. В случае с коллекцией у вас указан List, соответственно для компилятора значение, полученное из массива - это именно Figure.
Не не иметь представления об алгоритмах и их сложности - плохо. Но зацикливаться на алгоритмах если работа с разработкой алгоритмов не связана - еще хуже. А для того чтобы успешно пройти собеседование не лучше ли собрать статистике по требованиям, предъявляемым к определенной вакансии и учить именно то, что будут спрашивать на собеседовании?
ТёмнаяМатерия: Я сейчас вижу огромное количество новых проектов которые пишутся на java. Причем пишутся людьми, которые пробовали и Go и Haskell и все новомодные языки.
Ужасность Java выражается в том что ее трудно учить? Может быть. Я исхожу из опыта использования. Я писал на go, java, python, C++, clojure, scala и чем-то там еще, то есть нельзя сказать что используя java потому что я не знаком с другими языками, и тем не менее мне нравится java.
Думаю, неправильно говорить что язык ужасен потому что "я начинал его учить но он мне не понравился"
Java может быть трудно учить, но ее удобно использовать, что многие и делают.
huhrmuhr:
> И сами же от этого убегать начали - в Scala
Справедливости ради, Scala никогда никогда не позиционировалась как "более простая java", даже наоборот. Более сложный, но более выразительный язык.
> Вон придумали монстра Java
И прекрасно придумали, до сих пор один из самых популярных языков.
D также неплохой язык, не надо его обижать:)
Александр А: Ясное дело. Поэтому ядро и все что критично к производительности пишется на плюсах, скрипты на Lua. Если писать все на плюсах, окосеть можно;)
Александр А: Это я к тому, что защита реализуется тем, что приходит с сервера и что можно туда слать. А также хранит ли сервер свое состояние объектов или доверяет пришедшему с клиента. Lua там на клиенте или не lua уже мало решает. Всегда можно поймать пакет и подменить, влезть в память и что-то поменять там. Просто в скриптах на Lua это обычно проще сделать, там уже API есть для многого.
Про корейский рандом интересный факт) Как только люди не извращаются:)
Александр А: Клиент в руках врага. Защита обычно реализуется через недоверие пришедшей с клиента информации. Если счетчики реализуются на стороне клиента - не важно на чем написан клиент:) Вон в linege и Archage вроде нет никакой Lua, а все равно все поломали.
Ну, насколько я понял конструкцию :require :as, я назначил аллиас M на clojure.core.matrix.operators через
(:require [clojure.core.matrix.operators :as M])
то есть используется * именно из clojure.core.matrix.operators.
Если использовать простое умножение, получается другая ошибка, которую и можно ожидать при применении оператора, на рассчитанного на матрицы.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.