- 1
- 2
- 3
- 4
- 5
- 6
class PituhFazer{
private Dictionary<string, ObservableCollection<SgnilPitushokViewModel>> Ghildren { get; } = new Dictionary<string, ObservableCollection<SgnilPitushokViewModel>>();
// почему жаба может так а шарп нет?
private Dictionary<string, ObservableCollection<SgnilPitushokViewModel>> Ghildren { get; } = new Dictionary();
}
Lorip1971 15.01.2019 18:47 # 0
щас благо можно написать проще
но естественно хуй тебе за щеку, мой питушок. ведь ты сидишь на легаси куче говно, которую еще мамонты клали на asp.net webforms и питух-студіо 2010, где о не то что о С#7, о С#5 даже и не слышали, так шо кушай говнеца.
guest8 15.01.2019 19:11 # −999
Lorip1971 15.01.2019 19:18 # 0
а про 2010 я говорю, что тебе связывают руки, и даже если что-то появится, то ты будешь сосать хуй, вместо каши гарбузовой, ибо твой прожект - легаси гавно, в котором ретаргет никому и сниться не может.
guest8 15.01.2019 19:23 # −999
Lorip1971 15.01.2019 19:29 # 0
ебаная вижуал студео не в состоянии (блять, это вообще смешно, жду когда продукты жыдбрейнс будут де факто для любого кодинга. мелкомягкие уже заебали), нормально открыть проекты старых студий. она что-то конвертирует, но в итоге тебе срет 100500 ошибок которые надо сидеть и руками править. а ты добавь к этому что проекта на 100+ тыс. строк кода. никакой человек не будет в здавом уме такого делать, лишь для того, чтобы написать Dictionary<string, Pituh> pituhi = default; вместо Dictionary<string, Pituh> pituhi = default(Dictionary<string, Pituh>);
хуле не ясно?
bormand 15.01.2019 19:31 # 0
guest8 15.01.2019 19:36 # −999
guest8 15.01.2019 19:47 # −999
bormand 16.01.2019 07:48 # +1
cykablyad 16.01.2019 16:20 # 0
В ".NET Core" это всех заебало, и они, пока делали его первую версию, поменяли с десяток разных проектных систем, но в итоге вернулись назад к "MSBuild"
Но в отличие от полновесного дотнета, там они запихали под ковер хуеву тучу легаси говна, и проектная система стала намного проще и портируемее
По итогу ".NET Core" сейчас собирается чем угодно и где угодно и даже под прыщами, однако кровавый тырпрайз далеко не весь даже начинает думать о переходе на него
guest8 16.01.2019 17:31 # −999
bormand 16.01.2019 17:51 # 0
HoBorogHuu_nemyx 16.01.2019 17:55 # −1
Берём случайный проект с Гитхаба:
https://github.com/icsharpcode/SharpDevelop/blob/master/src/Automated.proj
https://github.com/icsharpcode/SharpDevelop/blob/master/SharpDevelop.sln
cykablyad 16.01.2019 18:04 # 0
HoBorogHuu_nemyx 16.01.2019 18:18 # 0
cykablyad 16.01.2019 18:20 # 0
cykablyad 16.01.2019 18:01 # 0
j123123 17.01.2019 04:56 # +2
guest8 17.01.2019 05:27 # −999
cykablyad 17.01.2019 09:04 # +1
На шарпе так тоже можно
gueest8 16.01.2019 20:17 # 0
где студия -- там треш
bormand 16.01.2019 20:37 # 0
gueest8 16.01.2019 20:41 # 0
В нем хранится схема (структура базы) и информация о подключении к ms-sql.
Кстати, это очень удобно, потому что они умеют генерить diff (миграционные скрипты), и валидировать тоже умеют:
То-есть я храню в VCS схему базы. Вот я хочу добавить колонку и пишу в .sql файл новую колонку, студия проверяет что он корректный, сравнивает таблицу с таблицей в СУБД и выдает мне diff, который я выполняю на сервере.
Я не уверен что DataGrip так может
Lorip1971 15.01.2019 19:37 # 0
сейчас жыдбрейнс клепают уже ИДЕ под все. даже под твои любимые плюсцы (да, да, зацени CLion), для шарпа - Rider. он правда еще в бэте, но он уже лучше студии в разы. (по сути та же студия с решарпером). в общем, он то уже по-людски могет в проекты разных версий.
guest8 15.01.2019 19:40 # −999
bormand 16.01.2019 07:46 # 0
guest8 16.01.2019 17:30 # −999
j123123 16.01.2019 05:49 # +1
Тормозное дерьмище на жабе, выжирающее дохера оперативки, да к тому же еще платное (по подписке) и проприетарное? Нет, спасибо. Если мне будет нужна тормозная говноиде на жабе для Си (на говноплюсах не пишу) - я возьму какой-нибудь эклипс (бесплатно при том).
Lorip1971 16.01.2019 13:36 # −1
да и кто нахуй в здравом уме будет платить за ИДЕ, скачал кряки и ебашь. а если ты работаешь на галере, так и тебя вопрос цены вообще ебать не должен, галера все купит (наверное).
на счет проприетарности. я не шарю в этом, обьясни, почему это плохо?
gost 16.01.2019 14:22 # 0
Редакция «Community» бесплатная уже года полтора. Причём по лицензии физики могут ебошить в ней любые приложения, в том числе и на продажу.
Lorip1971 16.01.2019 19:53 # 0
в жыдбрейс же, ты получаешь все и сразу. к слову, для жабы (увы, пока только для жабы) тоже есть есть комюнити версия intellij idea.
я не сказал бы что цена сильно кусючая. к тому же, всегда можно сбросить триалку, попросить у галеры лицуху или, на худой крайняк, самому купить. мы ведь все гребем за долары, и можем позволить себе. а если не за долары, то зачем грести тогда? в общем, выйти з положения можно.
можно еще долго кукарекать по поводу хуевости студии и хуйовости райдера. но я лично для себя решил, сравнивать студию (даже ынтырпрайс) с райдером - гиблое дело. в райдере просто хуева куча тулзов для рефакторинга и удобных встроеных утилит, даже не смотря на то, что он все еще в бэте. я очень сильно к ним привык (еще со времен когда я был на жаба EE и ведроиде). их либо нету, либо они хромают на обе ноги. так что я все равно выберу райдер ибо оно того стоит. имхо.
gueest8 16.01.2019 20:18 # 0
А у Intellij с этим как? Я знаю что для джавы там есть gradle, а для .NET? Если у меня проект в Rider, то как я буду его на CI собирать?
Lorip1971 16.01.2019 20:21 # 0
gueest8 16.01.2019 20:22 # 0
Если да, то я понимаю как они эт делают. Если нет, то мне страшно. Но с другой стороны там может быть API какой-то чтобы читать эти файлы
Lorip1971 16.01.2019 20:27 # 0
https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-project-file-schema-reference
gueest8 16.01.2019 20:28 # 0
Lorip1971 16.01.2019 20:34 # 0
gueest8 16.01.2019 20:15 # 0
лол
The Community edition was announced on 12 November 2014.
А Express был вообще черте когда, он он был для одного ЯП и на него не ставился R#, а без R# проще уж в Notepad++ писать
HoBorogHuu_nemyx 16.01.2019 20:19 # 0
«Экспресс» для «C++» ещё был без «ATL» («ATL» приходилось откуда-нибудь пиратить, чтобы скококонпелировать серьёзные программы).
gueest8 16.01.2019 20:23 # +2
Даже VsVim? ужас!
зы: у меня когда-то были спираченные диски с MSDN и Visual Studio 6.0, и там всё работало. Летала на WIn98, кстати. А VS 2017 мне кажется что грузится 4 минуты даже на бормадновом coffe lake с 32 гг памяти и ssd
j123123 17.01.2019 17:06 # 0
Я пока вижу, что в своём Clion они в основном затачивают всякую херню конкретно для плюсоебов, со всякими новыми говностандартов, а для сишников и так уже всё давно сделано в каком-нибудь Eclipse CDT, и Clion в этом отношении НИЧЕГО ОХУЕННОГО предоставить не может. Или я не прав?
guest8 17.01.2019 17:20 # −999
j123123 17.01.2019 17:36 # 0
Вообще, посмотри внимательно на этот коммит
и попробуй сказать, какой IDE всю эту херню можно автоматизировать? Внимательно так посмотри на кучу однотипных изменений. Знаешь как я это делал? Я написал говноскрипт которому скармливал исходник и он мне выплюнул обратно исходник с нужными заменами (потом еще пришлось некоторые места руками подправить, но то фигня). НИКАКАЯ СРАНАЯ IDE это делать не умеет. А если и умеет, то разве что через написание говноскрипта, но говноскрипт я и без IDE напишу
guest8 17.01.2019 17:44 # −999
j123123 17.01.2019 17:58 # 0
Нет, я смотрел их рекламные видео, и нихрена полезного и охренительного для себя не увидел.
> https://www.jetbrains.com/help/idea/structural-search-and-replace.html
Ну так это и есть написание таких недоскриптов-регекспов. И у этого подхода есть достаточно очевидные ограничения, например что если мне надо не просто что-то заматчить, а провести какие-нибудь операции? Ну скажем, есть у меня куча кода вида
Этот structural-search-and-replace мне поможет?
guest8 17.01.2019 18:08 # −999
j123123 17.01.2019 18:11 # 0
Один хрен это всё неуниверсальное говно, которое скриптами можно решать намного лучше, чем какими-то ограниченными говнофичами IDE.
j123123 17.01.2019 18:06 # −1
https://wiki.eclipse.org/Linux_Tools_Project/News/NewIn30#LTTng_CPU_Usage_View https://wiki.eclipse.org/images/f/fb/TimeAlignment_sash_scaled.png
что-нибудь такое есть?
https://blog.jetbrains.com/clion/2018/10/clion-2018-3-eap-profiler-multiline-todo/ что-то вроде делают, но как-то не впечатляет. Думаю, они там слишком заняты поддержкой всякой С++20 фигни и всяких автокомплитов
guest8 17.01.2019 18:11 # −999
j123123 17.01.2019 18:18 # −1
guest8 17.01.2019 17:48 # −999
guest8 17.01.2019 17:48 # −999
Desktop 17.01.2019 18:12 # 0
j123123 17.01.2019 17:08 # 0
Это плохо уже хотя бы по той простой причине, что я не могу саму IDE под себя пропатчить (изменить некое дефолтное поведение, заложенное разработчиками, которое лично мне не нравится, и которое не может быть переконфигурировано никакими настройками, а может быть только исправлено через изменение кода IDE) или пофиксить какие-то баги самостоятельно, не дожидаясь момента, когда это соизволят сделать разрабы IDE, которые заняты в основном допиливанием поддержки автодополнений шаблонов через констэкспры в классах, которые мне нахрен не нужны.
guest8 17.01.2019 17:20 # −999
Lorip1971 17.01.2019 17:56 # 0
j123123 17.01.2019 17:19 # 0
Для вижуал студии хотя бы есть вариант купить лицензию один раз, а не платить ежемесячно или ежегодно. Но вообще эти ваши тормозные говноиде просто нахер не нужны, можно в швабодном емаксе обмазаться плагинами с CEDET. Или вообще в виме. Меня эти IDE бесят
guest8 17.01.2019 17:22 # −999
guest8 16.01.2019 17:31 # −999
HoBorogHuu_nemyx 16.01.2019 20:22 # −1
gueest8 16.01.2019 20:25 # +2
bormand 16.01.2019 20:36 # 0
HoBorogHuu_nemyx 17.01.2019 12:20 # 0
guest8 17.01.2019 15:59 # −999
guest8 15.01.2019 19:33 # −999
Lorip1971 15.01.2019 19:38 # 0
guest8 15.01.2019 19:06 # −999
Lorip1971 15.01.2019 19:18 # 0
cykablyad 16.01.2019 16:16 # 0
В C#8 обещали такую хуйню
Dictionary<string, AbstractDelegatingFactoryFacadeFooBarPit uh> gay = new();
KaBauHblu_nemyx 16.01.2019 17:08 # 0
guest8 17.01.2019 16:08 # −999
cykablyad 17.01.2019 16:19 # 0
guest8 17.01.2019 16:21 # −999
cykablyad 17.01.2019 16:33 # 0
guest8 17.01.2019 16:54 # −999
cykablyad 17.01.2019 17:00 # 0
gueest8 17.01.2019 16:55 # 0
cykablyad 17.01.2019 16:59 # 0
С классами не канает
guest8 17.01.2019 17:03 # −999
cykablyad 17.01.2019 17:08 # 0
Это массив, настоящие рефтайпы на стеке не разместить
И массив из рефтайпов - тоже
На стеке можно разместить структуры, не содержащие внутри рефтайпов (и массивов тоже, причем уже из чего угодно), и массивы из них
VLA - поддерживается
guest8 17.01.2019 17:19 # −999
cykablyad 17.01.2019 17:25 # +1
> но если я обычный массив создаю то он создается на куче, верно?
Да
> Вот когда я пишу на сишечке я всегда четко понимаю где куча, где стек, где указатель, где сами данные.
А тут чего не понятного? Классы и массивы - в куче, структы - на стеке (инт тоже структ)
Разве что с боксингом можно иногда охуеть, но это очень редко
От структов можно кстати тоже указатель взять, даже stackalloc писать не надо
guest8 17.01.2019 17:42 # −999
cykablyad 17.01.2019 17:50 # 0
Да
Ну и алсо структуры в дотнете не так часто употребимы, чтобы беспокоиться об одинаковости
gueest8 17.01.2019 17:52 # 0
или это за меня JIT порешает?
cykablyad 17.01.2019 18:23 # 0
Делаешь два параметра у метода (???)
> не должен юзать структуру чтобы не срать в кучу
Структуры не аллоцируются в куче
guest8 17.01.2019 18:26 # −999
cykablyad 17.01.2019 18:31 # 0
gueest8 17.01.2019 18:34 # 0
В котлине всё ридонли если явно не сказано другое, и потому я за
даже блох писал про джаву что лучше все поля сделать final
HoBorogHuu_nemyx 17.01.2019 18:57 # 0
Goh 17.01.2019 18:59 # 0
HoBorogHuu_nemyx 17.01.2019 19:04 # +1
Один хрен, подробности уже с трудом вспомню.
guest8 24.02.2019 15:10 # −999
guest8 17.01.2019 19:04 # −999
HoBorogHuu_nemyx 17.01.2019 18:35 # 0
cykablyad 17.01.2019 18:35 # 0
guest8 17.01.2019 18:38 # −999
KaBauHblu_nemyx 17.01.2019 18:51 # 0
guest8 17.01.2019 18:54 # −999
KGeist 24.02.2019 08:09 # 0
Однако в C# такого нет; Dictionary и Dictionary<K, V> могут быть два совершенно разных типа (такое различение присутствует в базовой библиотеке, например IEnumerator и IEnumerator<T>; в рантайме это два типа IEnumerator и IEnumerator`1)
Поэтому было бы неправильно делать так, как в Java (конструируем тип одного типа и приравниваем к переменной другого типа). Вообще подход в Java странный, можно было бы вместо это ввести var и покрыть куда большее число случаев, чем с этим странным синтаксисом HashMap<>
guest8 24.02.2019 14:05 # −999
KGeist 24.02.2019 14:46 # 0
Всё равно синтаксис HashMap<> - странное решение. Его явно ввели, чтобы уменьшить копипаст при перечислении параметров, типа:
было:
стало:
Но ведь если бы был введён var, то покрылся бы и следующий случай, который до сих пор приходилось в Java копипастить:
Похоже, что Oracle одумались и в Java 10 есть-таки var: https://dzone.com/articles/finally-java-10-has-var-to-declare-local-variables
Не в первый раз замечаю, что история развития Java такая, что сначала пытаются сделать как-то по-странному, а затем в конце концов делают как в C#. Напр., изначально в Java авторы не хотели вводить подобие делегатов как в C#, потому что, дескать, анонимные классы и так хороши; а тут нате лямбды через какое-то время ввели. В итоге язык становится зачастую сложнее C#, хотя хотели наоборот: или приходится пилить странные хаки (чтобы сделать простейшее new T, например), или в языке существует двойственность синтаксиса, т.к. синтаксис версия "по-странному" и есть новый синтаксис "по-нормальному".
guest8 24.02.2019 15:12 # −999
bormand 24.02.2019 15:22 # 0
KGeist 24.02.2019 17:55 # 0
А зачем вообще лочиться в какую-то старую версию и не апгрейдить её? Как будто сами себе придумали проблему, сами и решили...
guest8 24.02.2019 19:40 # −999
KGeist 24.02.2019 20:54 # 0
Страх появления новых багов в новых JVM?
bormand 24.02.2019 20:55 # 0
Ага, энтерпрайз же. У них и операционки по 10 лет только security фиксы получают.
guest8 24.02.2019 15:32 # −999
bormand 24.02.2019 15:44 # 0
guest8 24.02.2019 15:47 # −999
KGeist 24.02.2019 18:11 # 0
Но в конечном счёте, из-за переупрощения рантайма, пользоваться Джавой получается сложнее, чем в C#. Пример с new T[], T.class и т.д. в дженериках я приводил (нужно изголяться с рефлексией). В C# It Just Works (tm). Примитивные типы выбиваются из объектной иерархии и являются странным исключением (в C# valuetype - предсказуемая часть языка объектной иерархии), в итоге, например, boxing сделан через костыли со специальными wrapper'ами и т.д. В C# это опять It Just Works. В C# есть unsigned-типы, но никто не заставляет их использовать, поэтому проблем нет. В Java же, если вдруг нужна unsigned-логика, нужно изголяться пилить костыли. Простыни с checked-исключениями и т.д. и т.п.
Хотели как лучше, а получилось как всегда.
guest8 25.02.2019 05:23 # −999