Прощай, Гитхаб! или Главное, что название осталось

Прощай, Гитхаб!
2
Нейтральная
сторона
0
Главное, что название осталось
6
Прежде чем писать комментарии или выбрать сторону вы должны авторизироваться!

04-06-2018 22:25 0

И что от этого изменится?

2 комментария
Kiok 06-06-2018 15:28 0

Egor.Leschev, Все забыли про пони.

Egor.Leschev 07-06-2018 04:28 0

Kiok, Главное, что название осталось

06-06-2018 15:43 0

Даже если что-то плохое сделают, то это же лишь хостинг без каких-либо значимых своих фич, просто популярный. В отличие от каких-нибудь Скайпов, где ты зависишь от остальных и не так просто перейти на что-то другое, здесь проблем с этим не будет.

40 комментариев
opera.rulez 06-06-2018 15:49 0

Tro, От Гитхаба зависит куча других проектов. Всякие репозитории пакетов (npm, например) используют его как хостинг. Возможно, потребуется всё это д великолепие переносить на другой хостинг.

cherepets 06-06-2018 18:04 0

Tro, А социальная составляющая? По сути единственное заметное отличие от просто кодохостингов.

Tro 06-06-2018 18:18 0

cherepets, Я и говорю, что просто популярный. Главное, чтобы сам git не начали менять, как это было с собственной реализацией Java.

cherepets 06-06-2018 18:21 0

Tro, Не "просто популярный", а эти всякие звездочки, значки и т.п.
Это же по сути такая соц сеть.

Simple_Not 07-06-2018 03:12 0

Tro, И что бы было с C#, если б его не меняли? LINQ и прочее - благо, хорошо поменяли.

cherepets 07-06-2018 03:24 0

Simple_Not, Ну так и говна какого-то тоже временами подкидывают.

Simple_Not 07-06-2018 04:07 0

cherepets, Большего говна чем наследный c-подобный синтаксис всё равно не придумают.

Tro 07-06-2018 09:27 +1

Simple_Not, Нет, у них именно нестандартная реализация виртуалки Джавы была, из-за чего люди на ней могли написать что-то работающее только на их VM.

cherepets 07-06-2018 09:45 0

cherepets, А как же _?

Simple_Not 07-06-2018 12:51 0

cherepets, Который Nullable<T>? Хз зачем такой костыль нужен сам не применяю, но вряд ли его вводили просто так.

cherepets 07-06-2018 13:21 +2

Simple_Not, Не, там то как раз всё понятно и все активно пользуются и радуются.
- В реляционных СУБД же бывают поля, которые могут быть NULL и C# ORM должны это как-то моделировать.
- Бывает удобно сделать как-то так:
void SomeMethod(bool? someFlag = null)
{
var someFlagValue = someFlag ?? SomeFlagDefaultValue;
...
}


Вопросы у меня в основном к муторным фичам из 7 и 8.
Пример:
var (_, _, _, pop1, _, pop2) = QueryCityDataForYears("New York City", 1960, 2010); (источник)

Ну не пиздец ли?

Simple_Not 07-06-2018 13:43 0

cherepets, А, ясно: я с БД пока не работаю.


Ну не пиздец ли?

В конкретно том что ты выделил вроде есть смысл, но дальше я не въехал. Что-то из мутнофункциональных фич походу.

Взял на карандаш, поразбираюсь на досуге.

cherepets 07-06-2018 13:49 0

Simple_Not, И вот так есть смысл?
private static void DoSomething(dynamic x)
{
if (x is int) WriteLine(" x is int");
if (x is null) WriteLine(" x is null");
if (x is string) WriteLine(" x is string");
else if (x is var _) WriteLine(" not sure about the type of x");
}

Simple_Not 07-06-2018 13:54 0

cherepets, Ну ты же знаешь что к примерам кода нужно прикладывать аутпуты, собранные специальным образом чтобы показать что именно код делает а что нет.

Пока что оно выглядит как целостный бессмысленный символ, который постоянно соседствует с "WriteLine".

Меня сильно смутило, что к переменной объявленной через "_" можно потом ещё методы вызывать по типу "_.ToString()".

cherepets 07-06-2018 18:43 0

Simple_Not, Потому что если ты внутри блока кода 1 раз присвоишь _ - оно будет иметь тип и значение и работать как переменная.
Но в случае с is var _ - это значит просто "любой тип".
Сука, на какой хер вводить какое-то подчеркивание ссаное, если всё отнаследовано от object и is var _ и is object будут всегда возвращать одинаковые значения?

opera.rulez 07-06-2018 18:56 +1

cherepets, var (_, _, _, pop1, _, pop2) = QueryCityDataForYears("New York City", 1960, 2010);
Знак подчёркивания вместо переменной, значение которой дальше нигде не используется, т. е. будет потеряно, пришёл из Пролога.

Simple_Not 08-06-2018 04:35 0

cherepets, Но ведь var - это сахар, тесно связанный с умением компилятора парсить твой код.
Object по-другому ж работает.

значит просто "любой тип"
Вот тут и задача чем оно отличается от <T>.
Алсо, есть ведь не только "var _" но и просто "_", который тоже вполне себе объявляется и угадывается компилятором.

если ты внутри блока кода 1 раз присвоишь _ - оно будет иметь тип и значение и работать как переменная.

Рандомно тыкал - как-то не всегда случается.

Simple_Not 08-06-2018 04:36 0

opera.rulez, И для чего оно там было задумано?

cherepets 08-06-2018 05:00 +1

Simple_Not, Object по-другому ж работает.

В "нормальной ситуации" - да.
Т.е. между object a = 5 и var a = 5 огромная разница, потому что в первом случае переменную приведут к базовому типу и будет боксинг.

Но именно между a is var _ и a is object разницы нет, т.к. оба просто вернут true.
Кстати, подумай еще в чем отличие этих выражений от a != null

По состоянию где-то на 2010 C# был наверное одним из самых приятных языков для вхождение в программирование "свежее", чем си, паскаль и бейсик. Сейчас я такого сказать не могу - новичек ебанется разбираться зачем есть 3 способа написать почти одно и то же как выше. А ведь это не единственный пример:
- Приватный метод, локальная функция, delegate и лямба. Если тебе надо передать какое-то "действие" (типо коллбека) в некоторый метод, то что из этого выбрать?
- Анонимный класс, именованный кортеж и запись (см. C# 8). Если тебе некоторый класс только в одном очень ограниченном контексте, то что выбрать?

Simple_Not 08-06-2018 05:54 0

cherepets, Кстати, тоже не въехал зачем нужна локальная функция если есть няшные лямбды и просто Func'и/Action'ы. (разве что у них что-то может иначе работать в плане captured variables)


Но именно между a is var _ и a is object разницы нет, т.к. оба просто вернут true.
Кстати, подумай еще в чем отличие этих выражений от a != null


Не, ну со вторым-то понятно, а вот "var _" я сейчас не чувствую прям совсем.



Анонимный класс, именованный кортеж и запись

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

cherepets 08-06-2018 06:46 +2

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


Anonymous Types, Named Tuples, Records.

* если что, я тоже не уверен в правильности русскоязычных названий. и вообще слово "кортеж" мне кажется не слишком русским.

cherepets 08-06-2018 06:54 0

Simple_Not, няшные лямбды и просто Func'и/Action'ы

И лямбды, и Func/Action - просто делегаты.
Профит локальной функции в том что если ты будешь её вызывать внутри своего же метода - она не будет заворачиваться в объект и ты тип молодец и мега-оптимизатор*. Если же ты её передашь в качестве аргумента в другой метод - она по сути завернется в () => MyLocalFunc.Invoke(); и короч не понятно чего ты вообще добился и что поменялось.

*а что мешало просто сделать под этим методом еще один приватный? загадка.

Simple_Not 08-06-2018 13:11 0

cherepets, Кортеж-то из математики и пользуется там уже лет сто как. Правда, таплы по функционалу посерьёзнее будут чистого математического кортежа.

Simple_Not 08-06-2018 13:14 0

cherepets, Анонимные ж делегаты, это круче и моднее.

не понятно чего ты вообще добился и что поменялось

Я вообще на Студию смотрю и не очень-то понимаю, почему к ней крутят столько высокоуровневых и абстрактных вещей, если почти все проблемы возникают из-за низкоуровневых особенностей языка и компилятора. Которые однако без костылей, возни и статей так просто не познаешь.

Simple_Not 08-06-2018 13:18 0

cherepets, "Records" интересные, надо б тоже на заметку взять.
Таплы порой классные для возврата из функций, но там скрывается какая-то подъёбная коряга с доступом из-за чего WPF через раз ругается.

Simple_Not 08-06-2018 13:20 0

Simple_Not, Анонимные ж делегаты, это круче и моднее.
Вру, оно ещё изъёбнее должно зваться, чтоб прям моднее было. Зато дали людям постоянную шутку про создание более "funky" кода.

opera.rulez 08-06-2018 13:34 0

Simple_Not, Подчёркивание в Прологе было задумано, чтобы не засорять память значениями, которые ты точно нигде не будешь использовать.

В SQL я могу в SELECT перечислить только те колонки, которые мне будут нужны в дальнейшем («SELECT * » пишут только мудаки). Тут же пропускать ничего нельзя, поэтому и приходится вместо ненужных полей вставлять подчёркивания.

Кстати, LINQ в C# мог бы решить эту проблему?

cherepets 08-06-2018 13:47 +1

Simple_Not, Может записи и хорошо для всяких dto пойдут.
Но анонимные типы сейчас получаются вообще ненужными, ибо туплы ж ничем не хуже
+ их можно легко разложить на переменные
+ их можно возвращать из методов (и возможно передавать в них. я не пробовал, ибо какой в этом вообще может быть смысл?)
Так почему нельзя было просто доделать анонимные типы для поддержки вот этого всего и не городить новый параллельный функционал?

Еще из претензий у меня есть реализация по умолчанию в интерфейсах. Она по сути адресует только проблемы майкрософта с обновлением важных виндовых интерфейсов, которые сейчас ради обратной совместимости дублируются (вместо того чтобы добавить метод в IStorageFile создается IStorageFile2) и еще один редкий случай, который сейчас через экстеншены решают (когда просто хочешь больше перегрузок делать, но не хочешь их все реализовывать).
Итого: херня которая будет вводить в заблуждение новичков и по сути нужна только майкрософту (и то как сказать "нужна"? не удалят же они теперь IStorageFile2).

cherepets 08-06-2018 13:53 +2

opera.rulez, Кстати, LINQ в C# мог бы решить эту проблему?

Иногда для всяких группировок и прочего говна в LINQ Select создают анонимные объекты.
Сейчас будет умственно отсталый и бесполезный пример, но мне лень придумывать лучше:
var dict = list
.Select(x => new { Key = x, Value = this.GetValue(x) }
.ToDictionary(x => x.Key, x => x.Value);

Simple_Not 08-06-2018 14:24 0

opera.rulez, LINQ вообще может всё что можно вообразить с коллекциями, которые выполняют полтора стандартных интерфейса.
Но только через fluent-синтаксис (пример Черепца). В SQL-подобном возможности по количеству прикрученных шайтан-методов весьма ограничены и далеко не все вообще доступны.

Simple_Not 08-06-2018 14:26 0

cherepets, Слюшай, а с WCF тебе доводилось работать?

cherepets 08-06-2018 15:03 0

Simple_Not, Да. Клёвая штука - добавил service reference по ссылке на wsdl и забыл что это удаленный сервис, а не просто локальный класс какой-то.

Simple_Not 08-06-2018 15:12 0

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

На локалхосте вроде всё делалось, но один компьютер не считается ведь. Думаю через DiscoveryService замудриться, но по нему почему-то полтора куцых гайда на Ютубе.

cherepets 08-06-2018 15:45 0

Simple_Not, А тебе надо обязательно, чтобы у сервиса был динамический адрес?

Simple_Not 08-06-2018 15:53 0

cherepets, Серверный кусок по идее будет лежать на конкретном компьютере. Локальную сеть мы вроде не шатаем уже.
Однако что-то проводное, что-то Wi-Fi, один участок сети даже через проводку работает.

А вот клиенты в идеале должны на любом, даже новом компе подниматься.
В совсем идеале это всё должно ещё по VPN\RDP работать (1С у нас так фурычит стабильно) и смартфоны тоже.

Но как минимум - хотя бы внутри офиса чтобы общалось всё.

cherepets 08-06-2018 16:14 0

Simple_Not, В совсем идеале это всё должно ещё по VPN\RDP работать (1С у нас так фурычит стабильно) и смартфоны тоже.

Может просто выбьете одну машину с внешним статическим адресом? Ощутимо облегчит жизнь.

Simple_Not 08-06-2018 16:35 +1

cherepets, Ты разве не догадываешься, что у меня тут условия усложнённые со всех фронтов?

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

Будь ситуация другой я б может и не решился в это всё лезть. Год назад бы ещё нашёл нужных спецов, накидал бы им охуительное ТЗ и получил б давно живой результат.


----
Конкретно по статическому ай-пи не выйдет ещё n-ое время, т.к. для этого нужно будет менять провайдера, плюс для юр.лиц ценник блядский совсем.

Jotun 07-07-2018 10:07 +1

cherepets, Добро пожаловать в питон

cherepets 07-07-2018 20:29 0

Jotun, Которые нужны достаточно редко, чтобы не городить под это костыль. Кстати, я не уверен что дискарды будут работать (работают?) с out.

Jotun 08-07-2018 16:18 0

cherepets, *которые по идее вообще почти никогда не нужны, если нормально дизайн то методы

04-06-2018 23:53 0

Полагаю, что волноваться рано. Всё-таки Микрософт — это не Фейсбук и Гугл, известные тем, что выкупали проекты, чтобы их закрыть.

6 комментариев
Tro 06-06-2018 15:40 +1

opera.rulez, А как же Nokia?

BerkutOi 06-06-2018 15:47 0

Tro, нокия уже была полумертвой к тому моменту

Tro 06-06-2018 15:51 +1

BerkutOi, Поэтому они её окончательно убили? У Нокии были толпы фанатов (больше, чем у Эппл сейчас), при грамотном руководстве из проблем можно было выйти. Android-телефоны с дизайном того, что выходило на WP, зашли бы на ура. Ну и MeeGo имела право на существование и могла бы всплыть.

BerkutOi 06-06-2018 15:54 0

Tro, это было до покупки нокии майкрософтом, а покупать нокию чтобы делать смартфоны на ведре вообще контринтуитивно было когда у них своя ос есть

Tro 06-06-2018 15:58 0

BerkutOi, Было очевидно, что покупка Нокии Микрософтом убьёт компанию. Так что любая такая покупка должна настораживать. Правда, тогда у руля стоял неадекватный Балмер, с его уходом многое стало лучше.

cherepets 06-06-2018 18:07 0

Tro, Android-телефоны с дизайном того, что выходило на WP, зашли бы на ура

Т.е. ты хочешь сказать, что линейка Nokia X была мега-популярна? Или сейчасошние модели с циферками?
Эта теория кучу раз озвучивалась и постоянно практика показывает, что это не так.

05-06-2018 04:01 0

Ну меня несколько смущает, что между GitHub Enterprise и VSO разница минимальна, а значит есть смысл один из проектов грохнуть (и пусть лучше грохнут гитхабовский).

С другой стороны, если в гитхаб вместо ссаного текстового редактора прикрутят что-то типо веб-студии (гуглить по запросу Visual Studio Online Monaco), то будет круто.
Плюс у MS есть свой CI и его было б неплохо затащить туда же, а то каждый сейчас ебется как хочет с кучей сторонних сервисов.
Короч, есть надежда и на существенное улучшение.

3 комментария
opera.rulez 05-06-2018 22:42 0

cherepets,

cherepets 06-06-2018 04:52 0

opera.rulez, Скрепка не модно, модно синяя дырка с женским голосом.

Simple_Not 07-06-2018 05:08 0

opera.rulez,

05-06-2018 04:05 0

Моё знакомство с кодерской стороной мелкомягких покамест говорит лишь о том, что они в целом знают что делают и делают в целом нормально.

3 комментария
Simple_Not 06-06-2018 15:22 0

Simple_Not, Судя по тому что пишут про перспективы грядущей третьей версии .NET Core, Майкрософт решили основательно установить гегемонию на рыночке разработки (но вроде без анальных копирайтов).

Если отталкиваться от ситуации с VS Code, то вряд ли для не дот-нетовских языков что-то будет принципиально хуже, в крайнем случае комьюнити зарешает.

BerkutOi 06-06-2018 15:25 0

Simple_Not, не понимаю о чем ты, можешь поподробнее про гегемонию без копирайтов?

Simple_Not 06-06-2018 17:01 0

BerkutOi, .NET Core - дохуя уж амбициозная задача, однако походу вполне решаемая. И опенсорс, и на все популярные системы (в т.ч. мобильные), и с современными языками, и вообще няшнота всякая.

А так есть же слухи что Майкрософт - те ещё любители анального копирайта и если будет смысл, то при таком влиянии на разработчиков они и учудить чего смогут. (а ещё байка про то что весь код на C# принадлежит не тебе)