• Какой дистрибутив линукса подойдет android программисту?

    @Ix_Didicus
    >>Какой дистрибутив
    Любой, какой понравится и сможете освоить. По большому счёту, дистрибутивы отличаются только набором предустановленного софта и софта, доступного в репозиториях. В вашем случае нужна Java, IDE, плагины для работы с Android — всё это можно поставить и отдельно (и может даже будет лучше, потому что в репах скорее всего будет старая версия), средства разработчика как правило работают на любом дистре без проблем (более того, немалое количество опенсорсных программ разрабатывается в первую очередь на Линуксе, а затем портируются (кросс-компилируются) на винду с помощью MinGW или Cygwin).

    >>стоит ли переходить
    Если основная цель — разработка под Андроид, то смысла мало. IDE, инструменты на Яве, а ей всё равно где запускаться.
    С другой стороны, если интересен Linux сам по себе, то почему бы просто не взять и не попробовать самому? Никто не сможет предугадать, понравится ли он вам, будет ли работать без проблем на вашем ПК, сможет ли удовлетворить всем вашим запросам и т. д. Если не можете определиться с дистром — скачайте пару LiveCD, загрузитесь с них, попробуйте освоиться. Сразу предупреждаю, что для освоения этой ОС весьма желательно уметь пользоваться поисковиком и обладать терпением для вдумчивого чтения документации (впрочем, раз вы программист, то эти навыки уже должны быть развиты).
    Есть ещё вариант — поставить Cygwin. Получите мощь Linux'a и привычность винды в одном флаконе.
    Ответ написан
    Комментировать
  • Существуют ли НЕ видеоуроки по различным ЯП?

    @Ix_Didicus
    Лично я делаю так: нахожу какую-нибудь книгу (тут же, на тостере, можно найти десятки, если не сотни рекомендаций), и по мере того, как там описываются языковые конструкции, функции, библиотеки, примеры и т.п., тут же открываю блокнот/ИДЕ и пишу какой-нибудь код, синтетический пример с их использованием, иногда экспериментирую, компилирую и смотрю, что получилось.

    А лучше всего написать что-нибудь своё, какую-нибудь простенькую программку (сначала консольную, потом можно и за ГУИ взяться), которая, например, парсит файлы или веб-страницы, или автоматизирует какую-нибудь рутину, или даже простенькую игру — короче говоря, пишите то, что интересно лично вам. Гарантирую, тогда будет и веселье, и грусть, и пасмур...
    Если задумка окажется неподъёмной, попробуйте найти опенсорсные аналоги своей будущей программы и изучайте их исходный код, учитесь по образцу.
    Никакие онлайн-курсы, задания и т.п. не заменят опыта настоящей разработки. Я не утверждаю, что они совсем не нужны, но необходимо параллельно заниматься и самостоятельной работой.
    Ответ написан
    Комментировать
  • Стоит ли использовать, как стартовое IDE для с++ code::blocks?

    @Ix_Didicus
    Если планируется перейти на Java, то имеет смысл посмотреть на универсальные IDE, такие как NetBeans, Eclipse, а также продукты от JetBrains (у них есть бесплатные версии, Community Edition).

    Поддержу Алексей Волегов и Кирилл, стоит попробовать некоторое время "пожить" в блокноте (Notepad2, Notepad++, Sublime, ...) и командной строке, хотя на мой взгляд, самые первые шаги всё-таки лучше делать с IDE.
    Ответ написан
    Комментировать
  • Как получить физический адрес файла средствами Java(не смонтированного раздела)?

    @Ix_Didicus
    Посмотрите в сторону пакета java.nio.file.
    Например, в классе Files есть интересный метод isSameFile. Я по-быстрому набросал вот такой код:
    import java.nio.file.Files;
    import java.nio.file.FileSystem;
    import java.nio.file.FileSystems;
    import java.nio.file.Path;
    
    public class UnixPath{
    	public static void main(String[] args) throws Exception {
    		Path path1 = FileSystems.getDefault().getPath(args[0]);
    		Path path2 = FileSystems.getDefault().getPath(args[1]);
    		System.out.println(Files.isSameFile(path1, path2));
    	}
    }

    Мне пока лень перезагружаться в Линукс, но на винде он отработал как надо (я передал в качестве параметров настоящее имя папки и хардлинк, ведущий на неё же, выдало true). Даже если это не то, попробуйте внимательно изучить пакет java.nio, если где-то есть ответ на ваш вопрос, то, скорее всего, он там.
    edit: Проверил в Линуксе на симлинке, тоже true.
    Ответ написан
    Комментировать
  • Как в Java делать byte b; b++ и b-- правильно?

    @Ix_Didicus
    К сожалению, в Java нет unsigned типов, но можно перед выводом или использованием значения наложить на него битовую маску:

    public class bytes{
    	public static void main(String[] args){
    		byte b = (byte) 200;
    		System.out.println(b & 0xFF);
    		b+=100;
    		System.out.println(b & 0xFF);
    	}
    }


    Этот код выведет 200 и 44.

    >>Пример: 200 + 100 = 44
    К слову, это называется не "дополнительным кодом" (доп. код — это представление отрицательных чисел, см. ту же Википедию), а переполнением, т.е., попыткой записать в переменную число большее, чем допустимо типом переменной, в результате чего старшие биты попросту утрачиваются.
    Ответ написан
    Комментировать
  • Примеры задач для программирования?

    @Ix_Didicus
    В принципе, до меня уже всё сказали, я лишь добавлю, что стоит не только писать код самому, но и смотреть, как пишут другие. Ищите опен-сорсные проекты, интересные вам, загружайте, изучайте. Возможно, вам понравится такой вариант: написать небольшую програмку самому (напр., тот же блокнот), затем поискать опен-сорсный аналог (а лучше не один) и посмотреть, как к решению той же задачи подошли другие люди, сравнить со своим, возможно, что-то поправить у себя, перенести какие-либо идеи оттуда и т.д.
    Ответ написан
    Комментировать
  • Сборка java-программы для windows, защита программы?

    @Ix_Didicus
    Насколько я понимаю, в тех же Eclipse, NetBeans и т.д., exe-шник — это не более, чем запускалка, JAR-ники просто спрятаны от глаз пользователя в каталогах программы, т.о., JRE всё равно требуется для запуска программы, exe-шник берёт на себя поиск Java-машины, подключает JAR-ники в classpath и запускает программу со всеми необходимыми для её работы ключами. С тем же успехом можно использовать даже простейший (или не очень) батник или shell-скрипт (можно подсмотреть примеры в папке bin/ Ceylon'а).
    Если же цель именно в избавлении пользователя от необходимости качать JRE, смотрите в сторону Avian: oss.readytalk.com/avian

    Что касается второго вопроса — насколько я знаю, самым распространённым методом защиты от исследования исходного кода в мире Java является обфускация. К примеру, её применяли в Minecraft. К сожалению (или счастью), это не очень надёжный метод.
    Ответ написан
    Комментировать
  • Есть ли рускоязычная среда програмирования?

    @Ix_Didicus
    Longum iter per praecepta, breve et efficax per exempla.
    Учитесь по примерам. Не знаете, как объявить переменную, задать цикл? Не знаете, как объявить функцию, описать класс, как их вызвать/создать, с какими параметрами? Так откройте чей-то пример, чужой код, и посмотрите. Благо, что в век Open Source можно найти сколько угодно исходников на любом языке программирования. Попробуйте просто скачать исходный код какой-нибудь несложной программы или библиотеки и попытаться в нём разобраться, целиком разобрать программу по полочкам. Не бойтесь экспериментировать, пробуйте что-то менять и смотреть, что происходит после вашего вмешательства.
    Помню, как в 9-ом классе заинтересовался игрой Battle for Wesnoth. Она опенсорсная, но я тогда этого не знал, да и вообще о программировании почти ничего не слышал. Зато я узнал (изучив папку с игрой), что в ней есть куча текстовых конфигов — сценарии, характеристики юнитов и т.п. Всё, разумеется, исключительно на английском, который я тогда практически не знал. И несмотря на это, не пользуясь ни словарями, ни гуглом, ни чьей-либо помощью, я смог разобраться в этом языке, создать своих юнитов, свои сценарии и даже написать пару кампаний.
    Ответ написан
    Комментировать