Вход | Регистрация
    1  2  3
О жизни... :: Философия

OFF: Что надо поменять в понимании мироздания, чтобы правильно программировать на C# после 1С?

OFF: Что надо поменять в понимании мироздания, чтобы правильно программировать на C# после 1С?
Я
   acces969
 
10.11.20 - 11:03
Программист 1с 5 лет, имею спеца, но на других языках практически не практиковался. Однако попробовал и понял что это вкусно.
   Serginio1
 
201 - 12.11.20 - 12:52
(196) Кроме того ты сам можешь их наделать как в 1С. С этим нет проблем
   Mikeware
 
202 - 12.11.20 - 12:52
(197) а если без готовых функций?
   strange2007
 
203 - 12.11.20 - 12:53
(197) Мне много лет и я стар уже. Но все эти годы у меня только одна функция разложения строки на слова, честно стыренная где-то, которую я применяю везде. Модуль универсальный, который можно применять везде. Вообще везде. Вторая часть варьируется от задачи. Оно быстрее, универсальнее и надёжнее! В этом и есть прелесть подхода
   Кирпич
 
204 - 12.11.20 - 12:54
(202) ой, тогда пять строчек
   Serginio1
 
205 - 12.11.20 - 12:55
   Кирпич
 
206 - 12.11.20 - 12:55
(198) "А если захотят потом получить слово по индексу?"
А если не захотят? Задача - подсчитать слова, а не создать массив из слов.
   strange2007
 
207 - 12.11.20 - 12:56
А если пойти чуть дальше,то тут появляется разработка, которую тупо применяю во всех конфах, до которых добираюсь и перекрывается сразу бОльшая часть бардака в организациях. При этом я постоянно переписываю и дописываю свои модули и в конфах ничего (почти ничего) не ломается. Например, сейчас столкнулся с высокой нагрузкой и быстренько подправил один модуль. При этом в других конфах ничего не поломалось. Самая обычная изоляция, которая возможно в 1С. Трукодеры этого совсем не понимают
   Kongo2019
 
208 - 12.11.20 - 12:59
(191) Что-то мне это больно процедуры и функции напоминает.
Так они везде есть.
   Кирпич
 
209 - 12.11.20 - 13:00
(207) "Трукодеры этого совсем не понимают"
Ты в своём уме? Это азы программирования. Это понимают все. Модули придумали в 60-х годах ёптыть. ООП еще есть. Ту же задачу выполняет.
   strange2007
 
210 - 12.11.20 - 13:00
(206) Потом придёт опытный человек и начнёт смотреть на шаг вперёд)))))
   Василий Алибабаевич
 
211 - 12.11.20 - 13:01
(208) Ты не понял. Фишка не втом что бы понаписать процедуры и функции. Фишка в том что бы для каждой процедуры - свой модуль. Как у strange2007 "Сделает один модуль разложения предложения на слова и в другом модуле реализует подсчёт" ))))
   Mikeware
 
212 - 12.11.20 - 13:02
(206) два стакана - полный и пустой?
   strange2007
 
213 - 12.11.20 - 13:03
(209) >> Это азы программирования
Где? Где у не1с-ников эти азы применяются? Где?????? Только набор зоопарков и полное отсутствие модульности. Любой чих и начинаются переписки с ног на голову. ООП изначально придумывалось только потому что основная масса в принципе не может придерживаться модульнусти и именно поэтому ООП семимильными шагами сдаёт позиции в пользу ВОП (кажется так оно называется? да?). Ну не может подавляющее большинство понять сразу чем раздельные модули круче одного
   Кирпич
 
214 - 12.11.20 - 13:05
(210) Да. Еще прилепить два события "ПередНачасломРазложенияНаСлова" и "ПослеРазложенияНаСлова". На всякий случай. Вдруг понадобится :)
   Кирпич
 
215 - 12.11.20 - 13:06
(213) там в дереве конфигурации посмотри. есть модули. общие там и всякие другие
   strange2007
 
216 - 12.11.20 - 13:09
(214) Почему? Я же сказал, что мои предположения подтвердились и модуль разложения используется у меня и в стандартных конфах везде. Это сокращает время разработки и упрощает понимание. Разве это плохо? Если для не 1с-ников и студентов даже такой простой пример сложен, то что говорить про сложные то вещи? Я почему и говорю, что сишники-явисты подобные вещи пишут каждый на свой лад, а потом любой малейший чих и пилят код годами, исправляя мелкие хотелки. В этом отличие
   Mikeware
 
217 - 12.11.20 - 13:10
(214) а как же ПриРазложенииНаСлова? и перекрывающее ВместоРазложенияНаСлова.
   strange2007
 
218 - 12.11.20 - 13:10
(215) Ну. В 1С. Потом что руководитель с кнутом стоит и диктует как и что разделять. А теперь берём сишника-любителя и посмотрим что он ваяет. А теперь посмотрим айбиэмовскую продукцию и смотрим, что там вообще есть однотипного
   Кирпич
 
219 - 12.11.20 - 13:10
(216) угомонись. все знают что такое модули и зачем они нужны
   Mikeware
 
220 - 12.11.20 - 13:13
(218) слушай, мы как-то без тебя, будучи студентами-любителями, писали так на сях еще в конце 80-х - начале 90-х. На клиппере в 90-х так писали.
   Кирпич
 
221 - 12.11.20 - 13:13
(217) Это фигня. А вдруг еще надо будет посчитать количество запятых. Надо и их на всякий случай посчитать.
   strange2007
 
222 - 12.11.20 - 13:16
(220) Да ладно! То-то я смотрю, что все сишные поделки, пестрят разношёрстностью. Даже в винде часть окошек нельзя раздивагать, хотя у них то стандартизация на высоте. Ага, они это специально запланировали.
Писали, писали, только нифига вы не дописали
   strange2007
 
223 - 12.11.20 - 13:17
(219) Как показывает практика, никто не знает. Вообще никто. Каждый год прихожу в новый коллектив и каждый раз всё с самого начала. Кроме модульности ещё есть незнакомые технологии))))
   Mikeware
 
224 - 12.11.20 - 13:19
(223) ты забыл добавить "один я дартаньян!"©
   strange2007
 
225 - 12.11.20 - 13:20
(224) Тссссс! Не пали! рано ещё.
   strange2007
 
226 - 12.11.20 - 13:21
Вот смотрите, как надо писать процедуры и функции, что бы при изменении хотелок переписывать пол конфы? Если такое имеет место быть, значит фиговая модульность. Если же достаточно в одном месте подкрутить и ничего не ломается, то это крутая реализация
   acces969
 
227 - 12.11.20 - 13:22
C# против семейства Java.
Мне нравится стандартизация, документация и точность. Модульность, стандартизация, изоляция - разгрузка для мозга. С самого начала, новичком еще, в 1с старался разбивать сложные задачи (процедуры) на части (функции/процедуры). Причем так получалось, что частенько, а сейчас наверное уже и всегда, мозг разбивает большую задачу на задачки, которые каждая целиком поместиться на экране монитора. Не знаю, виной тому неработающий скролл мышки, или маленькая оперативная память моего мозга, но так гораздо удобнее и понятнее и писать, и поддерживать код. Таким образом в последние годы получается писать очень сложные и большие проекты. Даже сложные запросы режутся на раз-два с помощью менеджера временных таблиц.
Это присказка.
На С# я написал две программы. Первая - серверная утилита с одной функцией, не интересно. А вот вторая программа - сложнее. Крутится три асинхронных цикла. В первом  цикле - чтение UDP. Во втором - чтение данных физического устройства. Третий самый медленный - интерфейсный, опрашивает накопленные данные первых + данные с формы и производит расчеты. В нем же и отправка данных на форму и в физическое устройство.
Разумеется, имея такие разномастные блоки кода, пришлось плотно познакомится с классами. Тут то и пригодилась моя привычка к разбитию кода в 1с. Получилось очень хорошо для новичка - на троечку. В целом мне очень понравился и язык, структура и архитектура.
Java мне не знаком. Наевшись динамической типизации в 1с до такого уровня, что уже начал писать проверки входящих параметров на входе в каждую процедуру, не хочу больше такой ветренный язык. Вопрос - смог ли я написать красиво, понятно, легко такую же программу на java? Была бы она стабильна?
ЗЫ под "циклами" я имею ввиду не просто loop { ... delay()}. Там чуть сложнее. А то закидаете сейчас тряпками.
   MadHead
 
228 - 12.11.20 - 13:24
(153) Я хотел подчеркнуть, что все эти продукты очень популярны их проектировали профессиональные инженеры и они выбрали JVM. Сферы проектов для C# и Java пересекаются не так сильно как кажется.
   MadHead
 
229 - 12.11.20 - 13:25
(227) Конечно смог бы и стабильной она была бы.
   Кирпич
 
230 - 12.11.20 - 13:27
(226) Да да. Если ковырять в носу отверткой то пойдет кровь. А если пальцем, то нет.
 
 Рекламное место пустует
   strange2007
 
231 - 12.11.20 - 13:30
(227) >> что уже начал писать проверки входящих параметров на входе в каждую процедуру, не хочу больше такой ветренный язык.
Вот в этом беда! Модули на столько развязаны и перепутаны, что даже передаваемые типы данных неизвестны. И это когда не в команде пишешь и только что-то очень мелкое с тремя циклами. А что будет если на шарпе писать финансовый план и факт? Да там же вообще караул. Я много таких поделок видел это же ужас ужасный. Даже ненавистники 1С отказывались от них, а тоёта-центр вообще закрылась в красноярске, потому что учётную систему на шарпе сделали (конечно вру, не только из-за учётки). Ребята, опомнитесь!
   Serginio1
 
232 - 12.11.20 - 13:30
(228) Пересекаются они как раз в облаках. Просто с выходом .Net 5, он практически полностью заменяет старый фреймворк.
Если и раньше .Net Core рос быстрыми темпами в облаках, то сейчас начнет расти и на десктопах.
А MS нехило подымается в облаках в том числе и за счет .Net
   strange2007
 
233 - 12.11.20 - 13:30
(230) Какие есть предложения по оценке крутости?
   Serginio1
 
234 - 12.11.20 - 13:33
232 + Просто когда писались продукты на Java, .Net Core либо не было, либо был в зачаточном состоянии.
Сейчас это все меняется. Будут уже и новые продукты на .Net Core спроектированными профессиональными инженерами
   Кирпич
 
235 - 12.11.20 - 13:36
(233) Крутости чего?
   strange2007
 
236 - 12.11.20 - 13:37
(235) Кода же
   Кирпич
 
237 - 12.11.20 - 13:37
(236) Какого кода?
   Sserj
 
238 - 12.11.20 - 13:39
(227) "..Java мне не знаком. Наевшись динамической типизации в 1с до такого уровня, что уже начал писать проверки входящих параметров на входе в каждую процедуру, не хочу больше такой ветренный язык.."
А случаем не путаешь Java и JavaScript. Второй таки да с динамической типизация. А вот Java это жесткотипизированный язык.
(232) На сколько я понял с Java общаешься по Andorid-у. Но ведь там Java как минимум 10-ти летней давности, там она чуть-чуть выше версии 1.7. Это получается совсем однобокий взгляд для утверждения что .Net богаче и приятней. За эти 10 лет в Java была огромная масса нововведений те же лямбды, стримы. Есть возможности не мучаться постоянно с геттерами и сеттерами объявляя свойства с аннотациями.
   MadHead
 
239 - 12.11.20 - 13:42
(234) Возможно будут, я подобным анализом не занимался. Но сейчас их нет.
На данный момент, Net core никак не продукт интерпрайз уровня и не обкатан в реальной жизнью. Даже если net core на голову выше джавы, то пройдет еще много лет когда на него начнуть посматривать на интерпрайз уровне.
   acces969
 
240 - 12.11.20 - 13:47
(238) Спасибо. Буду знать. Думал они все одинаковые, отличий немного - семейство же.
   Sserj
 
241 - 12.11.20 - 13:56
(240) У них вообще нет ничего общего :)
JavaScript так обозвали исключительно в маркетинговых целях.
   Горностаев
 
242 - 12.11.20 - 13:58
(98)с чего такая уверенность?  c# современнее и совершеннее Java и лучше его. А java выбирают потому что на нем уже много всего написано и вбухано денег и чтоб не переписывать системы, в которые вкладывали миллионы....
   Sserj
 
243 - 12.11.20 - 14:04
(242) А что это значит "современнее и совершеннее"?
Можно это как то на конкретных примерах продемонстрировать.
   Serginio1
 
244 - 12.11.20 - 14:16
(238) Это не мои утверждения что .Net богаче и приятней. Это утверждение на сайте Rsdn.Ru от людей которые делают продукты на этих языках.
(239) .Net Cor 2 уже 4 года. Я езе тогда статьи писал http://catalog.mista.ru/1c/articles/534901/
Нормальный .Net Core вышел через год в 2017. За это время бурно развивался и использовался прежде всего в облаках.
MS сейчас зарабатывает на облаках и вкладывается в Linux. Так что и сейчас уже используют в интерпрайзе.
За счет чего облака то развиваются? Так бы сидели все на AWS
   Конструктор1С
 
245 - 12.11.20 - 14:45
(151) "А 1С-ники как в команде, так и в одиночку делают нормальный и понятный код, с нормальной изоляцией и более-менее придерживаются стандартов"

Если бы... Даже среди разработчиков типовых не многие пишут хороший и лаконичный код, в полях так вообще часто ахтунги творятся. Хорошим подспорьем является сама платформа 1с. Вот тут действительно мощь таится. Выйди на улицу, подойди к любому встречному 1снику, покажи ему любой объект в ветке метаданных, и у него только по пиктограмме объекта всплывет паттерн этого объекта. И это крутяцкая крутизна. Из-за того, что платформа представляет собой набор понятных каждому 1снику механизмов, понимание программы сильно упрощается. Но у понятности тоже есть предел. Если взаимодействие между объектами 1с очень сложное, если данные обрабатываются сложными алгоритмами, то код как правило говнище не читаемое. Пока сидим на абстракциях метаданных всё красиво и понятно, как только начинаем писать много-много кода, начинается трэш
   Конструктор1С
 
246 - 12.11.20 - 14:58
(159) если бы был тот единый стандарт. Давно не работал с ЗУПом, но как-то понадобилось влезть в расчетные листки... а там мама дорогая, ярко выраженное (116): и километровые процедуры, которые делают всё и сразу, и сплошное смешение уровней абстракции, и попытки делать десять дел одновременно
   Mikeware
 
247 - 12.11.20 - 15:00
(245) до этого надо было предварительно сформировать эти понятия, и сформировать толпу 1сников
(246) ЗиК/ЗУП всегда был уделом особенных: "я боюсь нашего нового программиста по Зарплате иКадрам - он сидит, чего-то кодит и техонько ржёт!"©
   jbond
 
248 - 12.11.20 - 15:04
(175) https://www.quora.com/Is-WPF-dead-in-2020

Let me explain the Yes first. WPF as a framework is dead because no new development is being done by corporate in WPF as there are many new cross platform desktop app development frameworks available in market (like UNO Platform, Xamarin, Electron).
   Конструктор1С
 
249 - 12.11.20 - 15:05
(191) "Например, задача: "подсчёт количества слов в предложении"

большинство 1сников сразу же кидаются в конфигуратор, даже не попытавшись поглубже понять логику задачи. Уже только от этого множество проблем. Но это даже не 1сниковая проблема, такого везде хватает
   jbond
 
250 - 12.11.20 - 15:10
(175) И одновременно:

https://medium.com/coderes/why-is-winform-still-not-dead-should-we-learn-winform-5d776463579b

Итак, WPF мертв, так как его можно заменить более новыми кроссплатформенными библиотеками.

WinForms НЕ мертв и гораздо более живой, чем WPF так как его все знают и его нечем заменить
   Конструктор1С
 
251 - 12.11.20 - 15:13
(238) "с Java общаешься по Andorid-у. Но ведь там Java как минимум 10-ти летней давности"

Почему? Та же самая жава, насколько я знаю
   Конструктор1С
 
252 - 12.11.20 - 15:18
(247) ну да, узнаваемость механизмов платформы не один год взращивалась
   Serginio1
 
253 - 12.11.20 - 15:22
(250)
Угу Нет, потому что концепции и инструменты, используемые в WPF, такие как XAML и MVVM, по-прежнему используются во многих рамках, таких как платформа UNO, Xamrin и MAUI для разработки футуристических мобильных, настольных и веб-приложений.

MS кстати пошла по унификации XAML и развивают  тот же MAUI. Он жив и живее всех других. При этом в бущем моет переносится в тот же Blazor или MAUI
Xamarin.Forms плавно перетекут в MAUI
https://github.com/dotnet/maui/wiki/FAQs

Сейчас можно использовать одновременно и Xamarin.Forms и WPF
https://habr.com/ru/company/auriga/blog/507876/
   Serginio1
 
254 - 12.11.20 - 15:29
   Serginio1
 
255 - 12.11.20 - 15:33
Сейчас MS развивает WinUI https://github.com/microsoft/microsoft-ui-xaml/issues/717
   Serginio1
 
256 - 12.11.20 - 15:34
   Sserj
 
257 - 12.11.20 - 15:38
(251) Ну значит не знаешь. В андроиде Java7, дальше гугл разрюханился с ораклом, чего-то там долго судились и в итоге сейчас вынуждены насаживать котлин, так как юридически даже яву8 не могут в андроиде натянуть.
   Sserj
 
258 - 12.11.20 - 15:46
(253) Ну вот и подошли к главной проблеме :)
Интересно было бы взглянуть на портянку технологий которые MS объявляла - ну вот наконец то оно, то что все так долго ждали и спустя совсем небольшое время тихо отправляли на свалку.
А Java, да неспешно, но уверенно шла вперед все 25 лет. И написанное 20 лет назад как ни странно спокойно себе работает на всех новых версиях явы.
   Serginio1
 
259 - 12.11.20 - 16:45
(258) Все течет все меняется. Плохи те технологии которые написаны 20 лет назад.
Для примера WCF не стал переноситься в .Net 5. Но развивается gRPC https://devblogs.microsoft.com/aspnet/grpc-performance-improvements-in-net-5/
Аналога Blazor webassembly вообще не было, так как не было Webassembly вообще
https://visualstudiomagazine.com/articles/2020/09/14/aspnet-5-rc1.aspx

Старые технологии так же работают и на .Net просто они не развиваются.
   Кирпич
 
260 - 12.11.20 - 17:11
(259) У MS всегда так. Сначала объявляют величайший прорыв, потом признают этот прорыв дерьмом и объявляют новый прорыв. И при этом всё наровят весь мир захватить. Наверное по этому одним из условий выбора платформы часто бывает "и чтобы не Microsoft"/
 
 Рекламное место пустует
   Serginio1
 
261 - 12.11.20 - 17:46
(260) Ну объявили они Linq, async await, yield, Asp.Net и прочее никуда не делось.
Проблемы с Silverlight была как и в 1С связано с хромом который не стал поддерживать старую технологию плагинов.
WCF старые технологии остались только Soap https://github.com/DigDes/SoapCore
Решено продвигать gRPC.
Единственно где MS накосячили это закрыли Win Mobile еще на Compact Framework в пользу магазинов и новой платформы которую развивали лет 10
которая в итоге вылилась в .Net Core  и в итоге прикрыли и Win Mobile 10 сосредоточившись на облаках
   Кирпич
 
262 - 12.11.20 - 17:48
(261) ну вот слава богу я ничего этого не изучал
   Serginio1
 
263 - 12.11.20 - 19:25
(262) Ну здесь можно вспомнить 1С 7.5-7.7. Нет поддержки, а на них программировал
   Горностаев
 
264 - 12.11.20 - 19:37
(243)так сам Немчинский говорил.
   Глупый ответ
 
265 - 13.11.20 - 00:04
(113) А как js учил? Какие книги, ресурсы, задачи? Голая js вроде как полностью бесполезна, только с jquery или с фреймворком. Какой фреймворк выучил  и почему? реакт, вью, ангуляр?
   Горностаев
 
266 - 13.11.20 - 01:36
(265)Голая js бесполезна относительно, но без нее никак. Я освоил Vue Js и полноценно работаю full stack разработчиком. Но каждый раз я наступал на грабли, когда нужно было что-нибудь запрограммировать дополнительное выходящее за рамки обычных интерфейсов кабинетов.  vue предоставляет даже готовые библиотеки визуальных компонент, например, vuetify. Но что ты сделаешь когда нужно программировать логику - только нативный JS.  При этом ES6 желательно с новым синтаксисом.  Это вам не обычная верстка, где Jquery решает и даже js знать не нужно. В настоящей фронтэнд разработке нужно знать js и любой профи вам скажет, что нужно начинать с изучения основ js, а не с фреймворка (как я начал).  Слава Богу отошел от фронтэнда найдя напарника и перешел на чистый бэкэнд...
   Горностаев
 
267 - 13.11.20 - 01:37
а React - это почти тоже что и vueJs только альтернатива. Как Samsung на Android и Iphone....  vue только проще и берет все лучше из react и из Angular... И динамичнее развивается.
   Конструктор1С
 
268 - 13.11.20 - 08:27
(255) во, тоже переходят на рисование интерфейса через XML. Щас многие так делают
   Конструктор1С
 
269 - 13.11.20 - 08:31
(257) ладно, пусть будет старая жава
   MadHead
 
270 - 13.11.20 - 09:38
(265) По JS не читал книги, для меня изучение программирования через книги не заходит. На много лучше работает прохождение туториалов и точечное чтение статей для решения конкретной проблемы и главное писать больше кода. В начале работы с Java попал на фул стек позицию которая подразумевала Angular на фронте и J2EE на бэке, но задачи были в основном по Angular. Прошел официальный туториал от гугла и дальше читал как решаются проблемы в статьях или stackoverflow, а сам JS очень простой язык.
   vi0
 
271 - 16.11.20 - 07:31
(265) ну да, также как голый язык 1С v8 сам по себе бесполезен без платформы
  1  2  3

Список тем форума
Рекламное место пустует  Рекламное место пустует
Миста — веселый ресурс со своими эксклюзивными тараканами Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.