Deutsch

ИИ для программиста?

49928   76 77 78 79 80 81 82 83 84 85 86 все
AlexNek патриот04.05.25 13:31
AlexNek
NEW 04.05.25 13:31 
в ответ alex445 04.05.25 12:46
разве это всё не бесплатно

Бесплатно с ограничениями. Но платно тоже с ограничениями только побольше


у ИИ есть характер

Не знаю, как назвать может повадки, может еще как, но всё модели разные.


AlexNek патриот04.05.25 13:36
AlexNek
NEW 04.05.25 13:36 
в ответ uscheswoi_82 04.05.25 10:59
потому-что писать программы я сам очень люблю

цели у всех разные, но вполне можно писать самому код, а после отдавать ИИ на проверку. Вполне прилично получается, только иногда требуется пояснять контекст

kukka свой человек04.05.25 16:22
kukka
NEW 04.05.25 16:22 
в ответ AlexNek 04.05.25 10:24
Какой именно и где?

На ноуте. Таблицу попробую спросить, было бы неплохо если бы он ещё графики или таблицы со скачанных фото умел делать.Пока приходится делать это с помощью draw.io.

AlexNek патриот04.05.25 19:46
AlexNek
NEW 04.05.25 19:46 
в ответ kukka 04.05.25 16:22, Последний раз изменено 04.05.25 19:47 (AlexNek)
На ноуте

ладно пробую пованговать. У меня в таскбаре такая иконка У вас тоже или что - то другое?


графики или таблицы со скачанных фото умел делать

диаграммы можно делать, но не как png. Примерчик можно что надо?

alex445 патриот05.05.25 02:18
NEW 05.05.25 02:18 
в ответ AlexNek 04.05.25 19:46, Последний раз изменено 05.05.25 13:54 (alex445)

Хотел спросить ИИ, чому новые тьюплотипы в Сишарпе создаются без ключевого слова new. Но он не знает.


(double, int) t1 = (4.5, 3);

(double Sum, int Count) t2 = (4.5, 3);

gendy Dinosaur05.05.25 06:18
gendy
NEW 05.05.25 06:18 
в ответ alex445 05.05.25 02:18

да неужели


В C# с выходом версии 9.0 и новее появилась возможность создавать экземпляры типов без использования ключевого слова new, благодаря сокращённому синтаксису с target-typed new expressions (контекстно-определяемое создание объектов).


📌 Пример:

До (C# 8 и ранее):

Person person = new Person();

После (C# 9+):

Person person = new();

❓ Почему так сделали?

1. Упрощение и читаемость кода

  • Становится меньше дублирования типа.
  • Код становится короче и чище.
Dictionary<string, List<int>> dict = new(); // раньше пришлось бы повторить тип целиком

2. Лучше работает с автодополнением (IDE)

  • Особенно полезно при работе со сложными обобщёнными типами (List<Dictionary<string, MyType>> и т.д.).

🔧 Как это работает?

C# использует контекстный тип слева (target type) и выводит, какой тип должен быть создан с помощью new().

Компилятор сам подставляет правильный тип в new() на основании типа переменной слева от знака =.

⚠️ Ограничения

  • Работает только если тип можно однозначно определить из контекста.
  • Не сработает в var x = new(); — компилятор не знает, что за тип.
  • Не работает с конструкторами, требующими специфичных параметров без контекста.

🧠 Заключение

Краткая форма new() — это синтаксический сахар, введённый в новых версиях C# (с 9.0) для повышения удобства, читаемости и снижения дублирования типов при инициализации объектов.


Хочешь список других таких нововведений в C# 9–12?

Фашизм будет разбит


Человека карают только те боги, в которых он верит

alex445 патриот05.05.25 13:52
NEW 05.05.25 13:52 
в ответ gendy 05.05.25 06:18, Последний раз изменено 05.05.25 14:17 (alex445)

Давайте вы сотрёте это? )))


Если кто не понял, я это имел ввиду. Создание нового экземпляра всегда было через new, а тут они сами брейкают свои конвенции.

Впрочем, возможно, что это не создание, а условная запись организации пачки данных в кортежном типе. Но тогда эта условная запись тоже ломает конвенции. Лишь простые типы создаются без new, типа int, float, bool и т.п. Остальные, включая кастомные, должны через new. А кортежи и кортежные типы это явно кастомные типы.


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


Однако, можно сделать так:


var x = (1, "a");
x = new(2,"b");


С этими новыми кортежными типами отпала необходимость заводить словари с ключами в виде кастомных типов, для чего надо было этим кастомным типам добавить реализацию IComparable. И анонимные классы в явном виде тоже можно не определять. Теперь ассоциативные коллекции можно просто делать так


List<Renderer> renderers = ...
var renderersAndColors = renderers
    .Select<Renderer, (Renderer, Color)>(r => (r, r.material.color))
    .ToArray();

// или можно дать названия полям кортежного типа
(Renderer MyRenderer, Color MyColor)[] renderersAndColors = ...
alex445 патриот05.05.25 14:13
NEW 05.05.25 14:13 
в ответ alex445 05.05.25 13:52, Последний раз изменено 05.05.25 14:26 (alex445)

Вообще, видели, чтобы уже автивно в Сишарпе использовали возвраты в виде кортежных типов? По мне, так громоздко получается. Типа такого


(int MyInt, bool MyBool, string MyString) GetData(int intParam, bool boolParam, string stringParam)

{

return (intParam, boolParam, stringParam);

}


Я тут специально название метода выделил, а то оно теперь теряется, и непонятно с первого взгляда, что это вообще метод.

alex445 патриот05.05.25 14:25
NEW 05.05.25 14:25 
в ответ alex445 05.05.25 13:52

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


Вообще, какой-то винегрет теперь. Вдобавок к вопросам "назовите 5 отличий интерфейсного метода от абстрактного" добавятся "назовите отличия анонимного типа от кортежного". Ещё и будут требовать, чтобы помнил для каждой версии языка, какие отличия добавились-убавились.

AlexNek патриот05.05.25 19:01
AlexNek
NEW 05.05.25 19:01 
в ответ alex445 05.05.25 02:18
Но он не знает.

Странно, к Мюллеру на приём водили?

In C#, tuples do not require the new keyword because they are value types and have special syntax for initialization.

Instead of using new Tuple(value1, value2), you can simply write (value1, value2), which is more concise and readable.

alex445 патриот05.05.25 21:07
NEW 05.05.25 21:07 
в ответ AlexNek 05.05.25 19:01, Последний раз изменено 05.05.25 21:08 (alex445)

Давайте вы тоже это сотрёте? )))


Я говорю про кортежные типы, а не про кортежи.

tuple type VS Tuple type


ИИ затупил, Гугл ничо не нашёл, а сам ты забыл. Всё, приплыли? )))

alex445 патриот05.05.25 21:29
NEW 05.05.25 21:29 
в ответ alex445 05.05.25 21:07, Последний раз изменено 05.05.25 21:33 (alex445)

Ладно, попробовал использовать ИИ снова, только не для программирования.


Есть у группы "Шериф" такая песенка. Музыка неплохая для попсы, вокал Гулькиной отличный. Но вот лирика полный швах - тафтология на тафтологии. Такое сочиняют школьники, не сильно напрягаясь:


Улицы пусты, мы идём одни,

И дышит всё вокруг любовью.

Вдруг сказала ты: «Я должна уйти,

Расстаться надо нам с тобою».

Ты подожди, не уходи,

Не оставляй меня опять.

И даже если ты уйдешь, я буду ждать.

Ты видишь: я совсем один.

Ты оглянись, не уходи.

Не уходи… Не уходи!

Понял я, что ты уходишь от меня.

Как дальше жить, теперь не знаю.

Ты бросила цветы, в глаза мне не смотря,

Умчалась в стареньком трамвае.


После нескольких попыток беседы с чатом ГПТ, добился такого


Улицы пусты — мы вдвоём в тени,

Тишина пронизана мечтой.

Ты внезапно шепчешь: «Путь у нас один,

Но пора проститься нам с тобой».

Прошу, постой — не уходи,

Не бросай меня опять.

И если всё же ты уйдёшь — я буду ждать.

--- до сюда катит, дальше нет

Взгляни: остался я один.

Обернись — затихни в тишине.

Прошу — не исчезай во мгле!

Я понял — ты уходишь навсегда,

И в сердце — боль немая.

Ты бросила цветы, не встретившись глазами,

И скрылась в старом трамвае.


Вобщем, первые 7 строчек неплохо, но дальше пошла фигня. Ещё и рифму потерял. Впрочем, в оригинале тоже первые 7 строчек ещё куда ни шло. Короче, этот чатик для переписывания стихов в чистом виде нельзя использовать. Поседеешь, пока добьёшься от него законченного длинного стихотворения. Как один из вариантов - брать лучшие части от каждого его выдачи. И не давать большие стихи - по 4-8 строф, не больше. И финальная композиция и полировка - только вручную. В последнем варианте я сходу вижу места, где можно улучшить. Например, не "мечтой-тобой", а "мечтою-тобою". Не "в старом трамвае", а "в стареньком трамвае". Иначе стихи в размер не попадают. А чатик не видит. Нет у чатика чувства прекрасного )))

AlexNek патриот05.05.25 21:39
AlexNek
NEW 05.05.25 21:39 
в ответ alex445 05.05.25 21:07
Я говорю про кортежные типы, а не про кортежи.

А что в ответе принципиально неправильного? Ну и говорить нужно более чётко.

ValueTuple (the tuple type) does not require the new keyword because it has special syntax for initialization. Unlike Tuple, which is a reference type and requires explicit instantiation using new, ValueTuple is a value type and can be created directly using parentheses.

AlexNek патриот05.05.25 21:56
AlexNek
05.05.25 21:56 
в ответ alex445 05.05.25 21:29
только не для программирования.

Пока не интересует, но принцип везде одинаков.

Лениво свой человек06.05.25 20:55
NEW 06.05.25 20:55 
в ответ AlexNek 13.08.24 17:45

Vibe Coding


Wenn KI eine ganze IT-Abteilung ersetzen soll


Когда-то этот недостаток тоже устранят.

Но пока что на сложные проекты напускать ИИ низзя.

Гори, гори ясно!
AlexNek патриот06.05.25 21:30
AlexNek
NEW 06.05.25 21:30 
в ответ Лениво 06.05.25 20:55
Но пока что на сложные проекты напускать ИИ низзя.

смотря что под этим конкретно понимать.

alex445 патриот07.05.25 12:18
NEW 07.05.25 12:18 
в ответ AlexNek 06.05.25 21:30, Последний раз изменено 07.05.25 12:44 (alex445)

Понравилась фраза

"4 дня в неделю на вайбе, 1 день в мыле до ночи"


Проблемы будут, когда шибко умные менеджеры и шефы заставят работников в обязон использовать ИИ для создания программ. Ещё и метрики введут.

kukka свой человек07.05.25 14:01
kukka
NEW 07.05.25 14:01 
в ответ alex445 07.05.25 12:18
Проблемы будут, когда шибко умные менеджеры и шефы заставят работников в обязон использовать ИИ для создания программ. Ещё и метрики введут.

Так они уже метрики проверяют, так как твоя ЗП идёт из Sondernvermögen. Так как именно Вы часто используете КИ для программирования. Мне мой сосед инженер приписал больше, но он не продает мелочь в шопиках.


Отпускник знакомое лицо07.05.25 14:06
NEW 07.05.25 14:06 
в ответ kukka 07.05.25 14:01
так как твоя ЗП идёт из Sondernvermögen

это что за очередной высер?

kukka свой человек07.05.25 17:51
kukka
NEW 07.05.25 17:51 
в ответ Отпускник 07.05.25 14:06

Ваш высер в принципе ни на что не влияет.