• Как разделить "разделить" процессы на два экрана?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Сделайте просто extended для вашего монитора и телевизора. Тогда у вас будет общий рабочий стол. Любую программу перетаскиваете на нужный монитор мышкой и там себе крутится, друг другу не мешает.
    Ответ написан
    Комментировать
  • Музыка для кодинга, под что вы программируете?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Включаю очень грустную музыку, которая не отвлекает, не веселит, не зовёт погулять и побухать. От этого и сидишь в состоянии потока, не отвлекаясь на неё и вообще ни на что, ведь тебе грустно.
    Ответ написан
    1 комментарий
  • В чем разница int mas[], int mas[0], int mas[100]?

    @Mercury13
    Программист на «си с крестами» и не только
    int mas[] используется в трёх местах.

    1. Когда размер определяется инициализатором: int mas[] = { 1, 2, 3, 4, 5 };
    2. Чтобы задать параметр вида «массив неопределённой длины»: double vecLen(double a[], int size) {}
    Си не может жёстко задавать размер массива в параметре, чтобы больший или меньший не подходил; даже если напишешь напишешь double vecLen(double a[3]) {}, всё равно другой массив подойдёт. Си++ задаёт так: double vecLen(double (&a)[3]) {})
    3. Подсказал jcmvbkbc, реально мало на что нужно: extern int a[].

    int mas[0] создаёт массив нулевой длины, надобности в котором, понятное дело, никакой. Зато этот код используется, чтобы накладывать структуру данных, которая заканчивается массивом неизвестной длины, на какой-то буфер в памяти — как указатель: тут массив (C++ не проверяет выход за границу).

    struct Packet {
      unsigned short length;
      unsigned char data[0];
    }
    
    void processPacket(void* data, unsigned length)
    {
       // Простите уж, что перешёл на C++
       const Packet& packet = *reinterpret_cast<Packet*>(data);
       if (length != sizeof(Packet) + packet.length)
         throw std::logic_error("Packet size mismatch");
       for (unsigned i = 0; i < packet.length; ++i) {}
    }
    Ответ написан
    8 комментариев
  • Почему в языке Java нет таких языковых конструкций как "свойства" и "индексаторы"?

    vlad20012
    @vlad20012
    По тем же причинам, почему в Java нет перегрузки операторов и огромного количества других плюшек. Разработчики языка не любят всякий синтаксический сахар, а свойства и индексаторы - это и есть синтаксический сахар над простыми методами.
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать?

    gadfi
    @gadfi
    https://gamega.org
    Ох насмешили .... сколько помню все java хоронят, c# едва ли не мертворожденным считали ......
    Для первого языка я считаю оптимально java или c# у них наиболее классическое ооп, более того не нужно рассматривать изучения программирование как изучения языка ─ языки развиваются, появляются новые в зависимости от разных обстоятельств их приходится менять
    Учите патерны, технологии ....
    На вашем уровне начните с синтаксиса, ооп и структур данных, потом разберите бд а дальше уже поймете куда хотите двигаться
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.

    либо
    С++ + qt-project.org
    Ответ написан
    Комментировать