• Стоит ли начинать учить программирование с книг?

    @zipofar
    Прям вот так не бывает. Лично у меня все вместе шло. Книги, видео, статьи в интернете, все вперемешку. Одно дополняет другое.
    Ответ написан
    Комментировать
  • Стоит ли начинать учить программирование с книг?

    dosya97
    @dosya97
    Fullstack web-developer
    Советую начать с примеров. Это могут быть видео, статьи интересные итд. Технологий на сегодняшний день очень много. И учиться с нуля по книгам - не правильно, да и времени у Вас нет. А вдруг в середине книге эта технология вам разонравится. Лучше попробовать все по чуть-чуть. И уже выбрать нужный вам dev-kit. После того как определились, материал из видео будет мал для Вас, как для программиста-профессионала. Нужно читать доки. НО, есть отлично написанные мэнюалы, например vuejs.org, что любой человек знающий немного html+css+js, сможет разобраться. И кстати, обычно все языки одинаковые(Отличаются синтаксисом или немного более ориентированные под что-то конкретное или по скорости). Например php - чисто для веба. Python - многопрофильный(Классный синтаксис), но что плохо он не асинхронный, в отличии от node.js. Вообщем мой ответ. Лучше сначала понюхайте, оцените визуально, а уже потом ешьте))
    Ответ написан
    Комментировать
  • Стоит ли начинать учить программирование с книг?

    VasyaPertrov
    @VasyaPertrov
    Изготовление и безопастность сайтов. WP и др.
    Нужно понимать разницу межу "учить программирование" и "учить ЯЗЫК (для) программирования".
    Изучившие первое становятся программистами, второе - кодерами. Это 2 разные специальности.
    Хотя в нашей реальности многие не понимают эту разницы.

    Вот что точно не нужно - это смотреть видосики.

    ЗЫ. Осилившим тома "Искусство программирования" товарища Кнута - респект и уважуха :)
    Ответ написан
    6 комментариев
  • Как начать работу программистом Java?

    @private_tm
    JAVA dev
    Описание квалификации Junior Java Developer

    Junior'ом обычно называют разработчика, который только начинает серьезно работать в определенной области технологий. У такого разработчика есть знания, позволяющие ему работать над реальным проектом, но очень мало (или нет) опыта такой разработки. Поэтому, зачастую в технических аспектах он советуется с более опытным разработчиком. Накопив достаточно знаний и опыта Junior становится mid-level разработчиком.

    Если говорить о Junior Java Developer'е, то необходимы такие знания:

    Программирование (системы исчисления, чем оператор отличается от операции, некоторые алгоритмы)
    Язык Java (синтаксис, ООП возможности, многопоточность, стандартная библиотека)
    OOP и OOD (парадигмы, основные паттерны проектирования)
    Базы данных (JDBC, язык SQL)
    Обычно для Java Junior'а не обязательно знание какой-либо конкретной технологии или фреймворка (например веб-сервисов или Spring). Достаточно знать зачем та или иная технология нужна, какие задачи с помощью нее решают, преимущества/недостатки в сравнении с похожими технологиями. Junior детально знакомится с такими технологиями/фреймворками в процессе работы над очередным проектом.
    Ответ написан
    2 комментария
  • Как начать работу программистом Java?

    @Vorh
    JavaSE, SQL, Servlets - уметь написать простое CRUD web application с применением этих технологий

    Это минимальный список нужных технологий , по край не мере для Москвы - прошлым летом когда устраивался на работу на всех собеседованиях и в тестовых заданиях были такие требования.
    Плюсом еще будет Spring , ну и естественно HTML, CSS, JS

    Еще трубеют знания английского на уровне чтения тех литераты - спорный пункт , у меня его не где не проверяли - на момент начала работы с трудом мог прочитать предложение по английскому - в процессе работы подтянул на "средний" уровень - статьи , книги читаю ,но приходится иногда переводить не знакомы слова.
    Ответ написан
    Комментировать
  • Как с помощью обобщений создать метод, сортирующий массив методом "пузырька"?

    GavriKos
    @GavriKos
    А зачем вам делать intValue? Если у вашего обобщения есть операторы сравнения - то все равно что там за значение - пускай сам сравнивает.
    Ответ написан
    2 комментария
  • Почему не работает быстрая сортировка на Java?

    @dan1sh Автор вопроса
    Trainee/Junior Java developer
    Господа! Разрешилось! Свап делал неправильно. Рабочий код ниже
    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;

    int t = arr[i+1];
            arr[i+1] = arr[r];
            arr[r] = t;


    public static int[] quickSort(int arr[], int p, int r){
            if(p < r){
                int q = partition(arr, p, r);
                quickSort(arr, p, q-1);
                quickSort(arr, q+1, r);
            }
            return arr;
        }
    
        private static int partition(int[] arr, int p, int r) {
            int x = arr[r];
            int i = p-1;
            for (int j = p; j < r; ++j){
                count++;
                if(arr[j] < x){
    
                    i++;
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
                System.out.println(Arrays.toString(arr));
            }
            int t = arr[i+1];
            arr[i+1] = arr[r];
            arr[r] = t;
            return i+1;
        }
    Ответ написан
    Комментировать
  • С чего начинать чтение чужого кода?

    @private_tm
    JAVA dev
    Читаешь построчно и сам себе объясняешь что тут делается.
    Чем больше читаешь тем лучше будет получаться.
    Ответ написан
    3 комментария
  • Как смотреть исходные коды стандартных классов и методов в Intellij IDEA?

    @private_tm
    JAVA dev
    1)ctrl+q (вылезет попап доки)
    2)F4 (или на иконку посмотреть исходники)
    Ответ написан
    Комментировать
  • Как смотреть исходные коды стандартных классов и методов в Intellij IDEA?

    @Alecxandrys
    Исходный код классов JavaCore или JDK под которым работаешь, Ctrl+ЛКМ по имени открывает в новой вкладке.
    Ответ написан
    5 комментариев
  • В чем смысл метода Object.equals(Object ob) в Java?

    Rou1997
    @Rou1997
    String s1 = "abc";
    String s2 = "abc";
    s1.equals(s2) // true
    s1 == s2 // false


    В документации пишется, что метод equals сравнивает содержимое объектов

    Но вы сами должны задать для него логику в своем классе, иначе как он поймет какое "содержимое" сравнивать, у вас же обычно в классе не одно поле и не два?
    Ответ написан
    2 комментария
  • Как изменить значение внешней переменной, которая подаётся на вход в метод?

    EugeneP2
    @EugeneP2
    Java Dev
    В джаве, примитивные типы (int, long, char...) и объекты иммьютбл классов (Integer, Long, String...) вам так поменять не выйдет.

    работать будет вот так

    public static void main(String args[]) {
            Integer x = new Integer(5);
            System.out.println(x);
            x = change(x);
            System.out.println(x);
        }


    public static void change(Integer x) {
            x ++;
            return x;
        }
    Ответ написан
    2 комментария
  • Какую IDE лучше использовать для разработки графического интерфейса C++?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Лучше всего использовать "Родную" для графической библиотеки IDE. Т.е. если вы будете использовать виндовые формы, то лучше Visual Studio, если Qt - лучше QtCreator (и нет там никаких проблем с компилятором от вижуал студии, просто чтобы он подцепился автоматом при установке, его надо ставить до установки QtCreator, либо придется в ручную настраивать. Это легко, но требует некоторого понимания того, что вообще вы делаете). Если вы делаете андроидовские гуи - используйте андроид студию и т.п.

    Почему так? Ну просто "родной" инструмент, обычно, заточен под "родную" графическую библиотеку/фреймворк.
    Можно и в не родном, но вам потребуется сильнее понимать, как именно библиотека работает (т.к. многие вещи, которые за вас делала "родная" IDE, вам придется делать руками)
    Ответ написан
    Комментировать
  • Какую IDE лучше использовать для разработки графического интерфейса C++?

    Rou1997
    @Rou1997
    Проблемы с компилятором решаемы, можно более старую версию VS попробовать, можно MinGW, но вообще Qt не очень хороший вариант, для Windows лучше C++ Builder и .NET (то есть C++/CLI, Winforms, писать в Visual Studio, в том числе 2013), а еще лучше писать на C#, раз уж Visual Studio и Windows.
    Ответ написан
    2 комментария
  • Какую IDE лучше использовать для разработки графического интерфейса C++?

    в крайнем случае можно (нужно) разделить код, интерфейс делать в qtcreator, если это будет удобнее.
    Если только под windows пишите и кросс-платформенность не нужна, то можно и не на с++
    Ответ написан
    2 комментария
  • Чем фреймворк отличается от среды разработки?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Среда разработки - это: комната/стул/стол - комп/клавиатура/мышка - ОС/сеть - редактор (возможно, IDE) - используемый язык программирования - (возможно, используемые frameworks и/или библиотеки) - (возможно, другие системы: репозиторий, continuous integration server и т.д.).

    Framework - это (возможно!), набор библиотек/API и конвенций о том, как и для чего ими пользоваться при создании программ. Хотя, сам этот термин несколько шире. Вполне корректно было бы сказать, что Тостер предоставляет нам framework для получения ответов на вопросы, а мы им пользуемся. Мы, конечно, могли бы поступать иначе, например, бросать вопросы в море в запечатаной бутылке, указывать на Тостере координаты "вброса", а ответы (если бутылку захотелось и удалось таки выловить!), отправлять голубиной почтой. При этом мы достигали бы той же цели, хотя, и с несколько большими усилиями. Но при полном и правильном использовании framework, предоставляемого Тостером (т.е. при следовании правилам и договоренностям), это ощутимо быстрее и удобнее :)
    Ответ написан
    Комментировать
  • Как готовить себя к олимпиадному программированию?

    Посмотрите данные темы:
    Длинная арифметика
    Динамическое программирование
    Теория графов
    Рекурсия, перебор
    Сортировка и последовательности
    Комбинаторика
    Простая математика
    Геометрия
    Целочисленная арифметика
    Математическое моделирование
    Жадный алгоритм
    Структуры данных
    Двумерные массивы


    Почитайте о них, разберите каждую. Месяц - слишком мало для подготовки, но если у Вас школьная олимпиада, то еще ничего.

    Архив задач и тренировка здесь:
    acmp.ru
    acm.timus.ru
    Codeforces
    Это очень полезные ресурсы (системы проверки), в которые входят очень интересные и трудные задачи, как раз предназначенные для олимпиадного программирования.
    Ознакомьтесь здесь:
    Олимпиадное программирование для новичков

    Набор языков программирования в каждой системе разный. Вот некоторые из них:
    Набор яп для тимуса
    Для acmp.ru

    Но для начала почитайте и разберите эти ресурсы/книги про алгоритмы:
    algolist.manual.ru
    Кормен Т., Лейзерсон Ч., Ривест Р., Штайн K. - Алг...

    Ну и конечно, подтяните математику. Без математики далеко не уйдете.

    Ответ на Ваш вопрос: для длинной арифметики подошел бы Java.
    Ответ написан
    2 комментария