Задать вопрос
  • Почему VSCode панель Outline view не показывает классы и функции из C# кода?

    Drovosek01, а это не важно. Создаете решение и проект с этим файлом. Вы можете иметь много решений и проектов для одних и тех же файлов
    Написано
  • Почему моя реализация Shaker Sort-а такая медленная?

    копирование данных во временные переменные a и b

    Ссылка же?
    Написано
  • В чем смысл public _ {get;set} в c#?

    никто не запрещает использовать unsigned типы в своём api

    Василий Банников, наш код существует не в вакууме, и мест где вы можете использовать какой-нибудь uint без конфликта с convenction guidelines.. на текущий момент очень мало

    Use int rather than unsigned types. The use of int is common throughout C#, and it's easier to interact with other libraries when you use int. Exceptions are for documentation specific to unsigned data types.


    сделать какую-нибудь обёртку

    Спорить не буду, сам иногда так делаю.. хотя это еще +1 к возможности получить необработанное исключение
    Написано
  • В чем смысл public _ {get;set} в c#?

    Для того чтобы понять, вам надо заглянуть в Java где нет property. Там вы руками должны создать методы Get и Set. Фактически это синтаксический сахар, позволяющий вместо явного, но многословного
    class MyClass
    {
         private int _myField = 1; //присваивается где-то в других методах класса
         public int GetValue() { 
             return _myField; 
         }
    }

    можно написать
    class MyClass
    {
         private int _myField = 1; //присваивается где-то в других методах класса
         public int Value { get { return _myField; }}
         // или public int Value { get; } = _myField;
         // или public int Value => _myField;
    }

    Компилятор в любом случае создаст метод `get_Value()` но в коде вы можете просто работать с ним, как с field.
    Аналогично с сеттерами. Вы можете скрыть поведение за пропертей, например Invoke какого-нибудь OnChange event.

    Использование автопропертей, то есть те самые `{ get; set; }` позволяет декларировать их в интерфейсах и абстрактных классах с расчётом на то что в имплементации их поведение может быть изменено. А ещё 99% стандартных сериализаторов по умолчанию работают ТОЛЬКО со свойствами.. и даже если ваш объект - просто DTO без поведения, но если его придется сериализовать в какой-нибудь json или использовать как сущность в EntityFramework, то создание автосвойств обязательно.

    В общем это инструмент сильно облегчающий жизнь, но использовать его надо с умом
    Написано
  • В чем смысл public _ {get;set} в c#?

    Зачем делать какую-то валидацию, если можно изначально использовать тип, который не допускает отрицательных значений?

    Затем что в подавляющем большинстве методы принимают именно signed типы. Иначе вам придется обмазать огромное количество кода приведением типов, которое не бесплатное.. и все равно проверять чтобы например `uint` не превысил `int.MaxValue`
    Написано
  • Фреймворки для кросс-платформенной разработки. Практикуют ли переписывание под разные платформы?

    Серьезно? А аргументы будут?

    У вас тоже аргументы уровня "сам дурак". Так что естественно это бред спорить с фанбоем делфи, спич про огромныные возможности это подтверждает.
  • Фреймворки для кросс-платформенной разработки. Практикуют ли переписывание под разные платформы?

    Hemul GM, очень рад что вы болеете за свою команду) но надо смотреть правде в глаза. Отсутствие значительного развития в delphi это вещь очевидная. Пик популярности далеко позади, возможности языка по современным меркам скромные. . Рейтинг TIOBE показывает эпизодический рост, когда Embarcadero выкатывает новые фичи и поддержку новых платформ в RAD Studio, но в целом каких-то перспектив нет. Об этом не обязательно где-то читать, чтобы это понять. Все что его держит на плаву это огромное количество уже написанного корпоративного софта.. который вроде и деньги приносит, но не настолько чтобы переписать его на что-то более свежее. Он в своей нише.. а она будет только сокращаться. Потому что вопрос найма и поддержки delphi решений будут решать не в пользу delphi. Я не говорю что он завтра точно умрет, Embarcadero будет тянуть его из всех сил, но.. ровно до тех пор пока поддержка и лицензии приносят им деньги.

    Каким образом появятся новые специалисты, если такие как вы постоянно пишут "не изучай, тебе такое не надо, я знаю!"?

    А никаким. Никто не должен учить delphi только за то что он есть. На текущий момент delphi это среда в себе.. замкнутая экосистема, переход из которой более затруднителен, чем, к примеру, попытка пересесть с одного си-подобного языка на другой. И востребованность на рынке у delphi весьма скромная. Плюс никакой "интересный" современный проект на delphi делаться не будет.. в ачивку потом себе его не запишешь. В совокупности с постоянно сокращающимся комьюнити, это должно только отпугивать. Сейчас куда более перспективно учить какой-нибудь попсовый python потому что и по скорости обучения он уделывает, и там можно потом и в администрирование, и в интеграцию и в прочие бигдата.
  • Фреймворки для кросс-платформенной разработки. Практикуют ли переписывание под разные платформы?

    Имхо, каждый кулик нахваливает свое болото) Hemul GM, я думаю вы не правы. Вы может пришли в нишу давно и не собираетесь из нее уходить, но рекомендовать рабочие, но бесперспективные среды и языки в 2024.. ну это такое. Как сказали выше уже сейчас вопрос упирается в стоимость найма, разработки и обучения, при прочих равных поиск и найм в delphi команду будет дорогим и долгим.. банально потому что специалистов мало и они как правило возрастные. Так еще к тому же kkoollaj потеряет время на изучение непопулярной среды и языка.. и потом придется переучиваться на что-то более востребованное.
  • Фреймворки для кросс-платформенной разработки. Практикуют ли переписывание под разные платформы?

    Вот тут не согласен

    Windows Forms - это только Windows, т.к. он построен вокруг нативных системных вызовов Windows. Вообще-то я однажды писал Windows Forms для Linux, но там очень много было костылей и багов, поэтому - нет, не надо.

    Весь функционал winforms кросс-платформенный, то есть формы запускаются в nix как в netcore так и в mono, но ровно до тех пор пока вы не подключаете платформоспецифичные компоненты и плагины.. например от devexpress. Мое мнение, что winforms вполне себе заслуживает право на жизнь и кроссплатформенность, просто используйте для простых интерфейсов без претензий.
  • Сравнение скорости копирования массивов разными способами?

    iamkisly
    @iamkisly Автор вопроса
    Изменил с учетом рекомендаций. Получилось не менее интересно

    65aa4bacafc46744598997.png

    Ну и сравнение

    65aa4b7c86e8a453904490.png
    65aa4b87814cf730716827.png
    65aa4b92a3541109604106.png
    65aa4b9e32983427412155.png
  • Сравнение скорости копирования массивов разными способами?

    iamkisly
    @iamkisly Автор вопроса
    Это откуда такие данные?
    - Enumerable с 1 элементом
    - Результат фильтрации выбрал только 2-3 штуки
    - Сериализация примитивных (и не только) типов

    По своему опыту) Реально только сериализация.. и то, копирование массива в массив там случается весьма не часто .

    Мы исходный код платформы не знаем.

    Не "не знаем", а нет времени изучить исходники на github
  • Почему C# не кроссплатформенный?

    Евгений Гл, я не знаю как там сейчас, но когда maui зарелизили, поддержка linux версии была возложена на сообщество, толи как обертка над gtk, толи над qt.. не помню. Репозиторий maui-linux до сих пор живой по меркам open source.. правда последний коммит был полгода назад
  • Почему C# не кроссплатформенный?


    winforfms

    Вот тут стоит сделать оговорку, что большая часть дефолтного winforms кроссплатформенная, и была такой ещё со времён mono. Но! Лабающие на winforms часто любят использовать проприетарные плагины, и вот их работа не гарантируется никак.. что наверняка потребуется написание платформоспецифичного кода.. но для тех кто привык писать для разных версий dotnet это не проблема.
  • Есть сервера, которые стоит написать именно на Java, а не на Node?


    Например стриминговый сервер или сервер для чата, он же относится к разряду типичных запрос/ответ


    Поддержу предыдущих комментаторов, тут намешалось тёплое с мягким. Почитай что такое QoS, и какие требования к задержкам у стриминга, у чатов, и у веб приложений. У тебя даже провайдер потоки данных разных типов по разному приоритезирует.

    На самом деле мало кто пишет с нуля. Обычно есть команда, стек и определённая инфраструктура. Чтобы начать писать на другом стеке ради возможно перспективного hiload надо нанять дополнительных людей, а это деньги..

    Node специфически работает с потоками. Они организованы иначе чем в Java или dotnet. Воркеры, это скорее мультипиоцессинг.. зато это позволяет относительно легко масштабировать приложение, но не только лишь все могут это эффективно использовать.
  • Ext JS 6.2.0 Classic, как управлять полосой прокрутки Ext.grid.Panel?

    Че нет то? Я до сих пор пользуюсь, пилю как рабочие так и личные проекты, уже и не помню, когда просто самостоятельный html писал. В нем чертовски удобно заниматься формошлепством делая всякие inhouse crm без претензий на дизайн. Потому что в 99.9% случаев не задумываешься о том, что там под капотом у контролов, и какой там dom генерируется. Меня лично еще подкупает легкость с которой я могу перетаскивать в веб приложения winforms или delphi.. и замены какой-то для себя я не вижу.
  • Может ли gitlab составлять todo лист из комментариев?

    iamkisly
    @iamkisly Автор вопроса

    Не задумывались почему ? НЕ ЖЕЛАТЕЛЬНО комитить не работающий код.

    TODO это не неработающий код. Даже (о ужас!) FIXME это не неработающий код. Это заметка. И IDE просто напоминает "эй чувак, ты не забыл? ".
  • Может ли gitlab составлять todo лист из комментариев?

    iamkisly
    @iamkisly Автор вопроса
    А где в гитлабе они должны отображаться?

    А я не знаю, вот и спрашиваю ) В pycharm оно выглядит так
    6544cdddd95d1051542129.png

    В теории можно расширение сделать или в исходниках покопаться и добавить - они открытые.

    Василий Банников, проблема в том, что я не специалист по ruby или на чем оно там написано.
    Так то я понимаю, что можно при каждом аплоаде комиттов делать чек комментариев согласно расширению файла. Но хотелось бы из коробки иметь решение )