Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
Результаты опроса: Какой язык лучше
C# лучше всегда и везде 17 36.17%
Kotlin лучше всегда и везде 3 6.38%
Kotlin лучше для Android-а, C# в остальных случаях 5 10.64%
C# лучше для Web-а, Kotlin в остальных случаях 0 0%
Kotlin для Android-а, C# для Web-а, в остальном одинаковы 0 0%
C# лучше для Android-а, Kotlin в остальных случаях 0 0%
C# для Android-а, Kotlin для Web-а, в остальном одинаковы 1 2.13%
Примерно одинаково хороши во всех областях применения 6 12.77%
Оба бесперспективны 5 10.64%
Оба "Тьюринговская трясина" (п. введён для Fulcrum_013) 4 8.51%
Свой вариант (желательно о нём рассказать) 6 12.77%
Голосовавшие: 47. Вы ещё не голосовали в этом опросе

 
 
Рейтинг 4.69/162: Рейтинг темы: голосов - 162, средняя оценка - 4.69
Модератор
 Аватар для Curry
5168 / 3530 / 536
Регистрация: 01.06.2013
Сообщений: 7,678
Записей в блоге: 9

C# vs Kotlin

30.11.2018, 18:26. Показов 38528. Ответов 384
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!

Java c C# уже сравнивали несколько раз. А как насчёт улучшенного (а может кто то считает "улучшенного") варианта java - языка Kotlin?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2018, 18:26
Ответы с готовыми решениями:

Xamarin vs Kotlin?
Здравствуйте, возник такой вопрос, если откинуть на время ios, и разрабатывать android приложения, что из них будет лучше Xamarin или...

Kotlin vs Java
Добрый день, проконсультируйте плиииз! Больше года не садился за проги под андроид и решил "восстановить навык"... (вобще...

Язык программирования Kotlin
Достаточно интересный новый (2011г.) язык Kotlin, предлагающийся компанией JetBrains (как? вы не слышали про JetBrains?:p:rtfm:) на замену...

384
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
17.07.2020, 19:24
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от wist512 Посмотреть сообщение
Столько знаний, труда, времени (вообще ресурсов) и все это помножено на ноль. Это вызывает больше какое-то сочувствие и потерю, чем ставит все как достижение.
Как аналогия, вы учились и работали, не знаю, хирургом, набивали практику и знания и неожиданно ушли в проктологи (если проводить параллель с го).
Про разнообразие инструментов в рамках одного языка ты, значит, пропустил мимо ушей.

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

Так что нет, не помножено.

Цитата Сообщение от wist512 Посмотреть сообщение
Хибернейт ему там в го и не понадобиться, а значит начнет забывать.
Зато я точно знаю, что такое ORM, какие у них плюсы и минусы, когда их использовать, а когда — нет, и легко смогу найти и взять ORM для Go, если понадобится (парочку каких-то даже и использовал когда-то давно). А всякие тонкости и нюансы могут отличаться и между мажорными версиями того же Hibernate и их в любом случае придётся изучать. Язык тут не особо-то и при чём. Очередная небольшая деталь, не более.

Цитата Сообщение от wist512 Посмотреть сообщение
Вот если он наоборот продолжил погружаться в свой стек, то это реально пробустило бы его скилл.
Скилл написания/генерации однотипных Entity-классов для Hibernate? Так себе скилл.

А потом компания решает, что ORM их больше не устраивает, и все твои его знания идут лесом, ага. Что ты будешь делать, мастер скальпеля?

В том, чтобы быть узким специалистом в небольшом тулсете, с глубогим знание оного, нет ничего плохого, вполне имеет смысл, но и расширять кругозор весьма полезно. Или ты думаешь, что авторы Kotlin'а ничего, кроме Java, не знают? Сильно сомневаюсь. Большая часть (если не все) фичей Kotlin'а взята и/или адаптирована из других языков.
0
Эксперт .NET
 Аватар для Usaga
14734 / 9508 / 1364
Регистрация: 21.01.2016
Сообщений: 35,881
26.07.2020, 08:32
Цитата Сообщение от wist512 Посмотреть сообщение
Это какое-то черно-белое мышление. Я говорю что надо уважать свои знания и ресурсы вложенные в это. Нет тут никакой гордости в том, что ты потратил время пустую. Хибернейт ему там в го и не понадобиться, а значит начнет забывать.
Вот если он наоборот продолжил погружаться в свой стек, то это реально пробустило бы его скилл.
Причём тут уважать? Разработка в целом состоит из постоянной смены технологий, подходов и инструментов. Крутая новинка сегодня - почти наверняка мусор завтра. И что теперь, вообще ничего не учить?

Цитата Сообщение от wist512 Посмотреть сообщение
Так говорят, когда ничего не получил.
Да и не верю что ресурс головы у нас бесконечен (не резиновая точно).
Ресурсу головы не нужно быть бесконечным, если есть возможность забыть ставшее ненужным и на это место распологать что-то новое. GC в мозгу никто не отменял.
0
Модератор
 Аватар для Curry
5168 / 3530 / 536
Регистрация: 01.06.2013
Сообщений: 7,678
Записей в блоге: 9
26.07.2020, 08:58  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
GC в мозгу никто не отменял.
Например, некто поставил чайник на газ. В мозгу образовалась область нейронов для слежения за чайником.
Тут некто прочитал messаge в холиварах и давай с яростью отвечать, искать для этого ссылки, всё такое. Мозг решил что нейроны более нужны для холивара и вынес нафик область слежения за чайником. Если бы в мозгу был бы автовызов
деструкторов, то человек бы мог при включении газа указать в деструкторе, что, мол, если мозгу понадобится освободить память под "чайник", то сперва должен сработать дестукор из которого всплывёт напоминалка что нужно выключить, чайник.
На практике, таких деструкторов нет, и во время написания ответа в холиваре происходит выкипание чайника, залив газа, утечка газа, огонь взрыв, жертвы, МЧС. А во всём виноват GC!
0
Эксперт .NET
 Аватар для Usaga
14734 / 9508 / 1364
Регистрация: 21.01.2016
Сообщений: 35,881
26.07.2020, 11:45
Curry, негоже такие вещи в деструкторы пихать) Некто не сохранил ссылку на информацию о том, что он поставил чайник. Пусть земля ему будет пухом.
0
Модератор
 Аватар для Curry
5168 / 3530 / 536
Регистрация: 01.06.2013
Сообщений: 7,678
Записей в блоге: 9
26.07.2020, 12:13  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
негоже такие вещи в деструкторы пихать)
Как раз в деструкторы такое и добавляют. В тип описывающий работу с чайником. Один раз и на все случаи.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
26.07.2020, 12:47
Цитата Сообщение от Curry Посмотреть сообщение
Как раз в деструкторы такое и добавляют. В тип описывающий работу с чайником. Один раз и на все случаи.
Причем если язык и используемая либа по уму сделаны то добавится все это в деструктор автоматически.
0
Эксперт .NET
 Аватар для Usaga
14734 / 9508 / 1364
Регистрация: 21.01.2016
Сообщений: 35,881
27.07.2020, 07:31
Curry, не могу согласиться, что это хорошая практика. Но скорее всего это вопрос дискуссионный.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
27.07.2020, 12:04
Usaga, В отличии от устаревшего к концу 60-х GC эта практика позволяет управлять любыми ресурсами , объектами и взаимосвязями, причем своевременно и кстомизируемо по правилам предметной области. Причем делает это на порядок эффективнее оного анахронизма.

Добавлено через 3 минуты
Цитата Сообщение от Usaga Посмотреть сообщение
Но скорее всего это вопрос дискуссионный.
В рамках ООП языка дискуссий на эту тему вообще быть не может. По правилам ООП и модели какторов на которой оно основано, любой объект должен быть своевременно деинициализирован. Мало того, при использовании взаимовсвязей принятых в ООП GC еще и абсолютно не работоспособен без своевременной сторонней деинициализации объектов.
0
Модератор
 Аватар для Curry
5168 / 3530 / 536
Регистрация: 01.06.2013
Сообщений: 7,678
Записей в блоге: 9
27.07.2020, 16:42  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
не могу согласиться, что это хорошая практика.
А какая, по вашему мнению, хорошая практика?
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
В рамках ООП ... GC еще и абсолютно не работоспособен
Наличие или отсутствие GC и использование или не использование ООП, это ортогональные характеристики, не надо их связывать.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
28.07.2020, 16:50
Цитата Сообщение от Curry Посмотреть сообщение
Наличие или отсутствие GC и использование или не использование ООП, это ортогональные характеристики, не надо их связывать.
Та вот как раз нет. ООП за счет гораздо более строгого описания предметной области и взаимосвязей полностью исключает причины по которым GC появился, и как результат делает его абсолютно ненужным.

Добавлено через 26 минут
Мало того, ссылки препятствующие удалению объекта прямо противоречат правилам поведения взаимосвязей принятых в ООП.
0
Модератор
 Аватар для Curry
5168 / 3530 / 536
Регистрация: 01.06.2013
Сообщений: 7,678
Записей в блоге: 9
28.07.2020, 17:09  [ТС]
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
ООП за счет гораздо более строгого описания предметной области
И ООП со строгостью описания предметной области ортогнальны.
В PHP и Python тоже ООП. И, наоборот, в haskell, rust и даже до-ООПшной аде возможно строгое описание предметной области.

Строгое описание - это, по сути, введение ограничений, что тип аргумента должен поддерживать такие то операции, что такой то тип с другим типом так то может взаимодействовать, а эдак не может. Тут ООП не при чём. И GC не при чём.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
28.07.2020, 21:41
Цитата Сообщение от Curry Посмотреть сообщение
Строгое описание
Строгое описание - это введение правил поведения объекта. В том числе и критериев его ненужности в модели - т.е. невозможности продолжения существования. GC же создавался именно по причине невозможности определения подобных правил для иерархий пассивных буферов. Собственно говоря это одна из главных архитектурных проблем для решения которых и создано ООП.
Цитата Сообщение от Curry Посмотреть сообщение
В PHP и Python тоже ООП.
ООП - это методолгия проектирования, которая абсолютно ортогональна наличию в языке ключевого слова class.

Добавлено через 2 минуты
Curry, В рамках ФП, работающего с пассивныи буферами, настолько строгое описание не возможно, точно так же как и в рамках чистой процедурщины. В обоих случаях можно костылить реализацию чего то спроектированного по ООП-методологии.
Но жить то что спроектированно по ООП-методологии должно по правилам ООП, которые входят в явное противоречие с правилами работы GC.
0
Модератор
 Аватар для Curry
5168 / 3530 / 536
Регистрация: 01.06.2013
Сообщений: 7,678
Записей в блоге: 9
28.07.2020, 22:15  [ТС]
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
GC же создавался именно по причине невозможности определения подобных правил для иерархий пассивных буферов.
Что такое пассивные буфера? И что такое их иерархия? Список блоков данных ожидающих вывода?
С чего это их невозможно определить без ООП? Без ООП на тьюринг-полном языке можно сделать всё тоже что и с ООП.
Предполагаю (я уже на форуме это высказывал), что GC сделали для уменьшения порога вхождения в программирование.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
ООП - это методолгия проектирования, которая абсолютно ортогональна наличию в языке ключевого слова class.
Я имею ввиду, что в PHP, python есть поддержка ООП.
А если в языке нельзя наследовать одну структуру от другой, то реализация ООП затруднена.
Ну, если только не иметь ввиду динамически типизированные языки, где ассоциативный массив в рантайме собранных переменных и функций называют объектом или классом, делают его копию, добавляют туда свойство и называют это наследованием.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
В рамках ФП, работающего с пассивныи буферами
Откуда вы взяли что ФП как то привязано к "пассивным буферам"?
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
28.07.2020, 22:29
Цитата Сообщение от Curry Посмотреть сообщение
Предполагаю (я уже на форуме это высказывал), что GC сделали для уменьшения порога вхождения в программирование.
Нет, чтобы решить проблему корректного освобождения памяти. Одна из техник, которая прижилась и стала популярной, вот и всё.

Кликните здесь для просмотра всего текста
Any non-trivial program, running in a finite amount of memory, will need from time to time to recover the storage used by objects that are no longer needed by the computation. Memory used by heap objects can be reclaimed using explicit deallocation (for example, with C’s free or C++’s delete operator) or automatically by the run-time system, using reference counting [Collins, 1960] or a tracing garbage collector [McCarthy, 1960]. Manual reclamation risks programming errors; these may arise in two ways.

Memory may be freed prematurely, while there are still references to it. Such a reference is called a dangling pointer (see Figure 1.1). If the program subsequently follows a dangling pointer, the result is unpredictable. The application programmer has no control over what happens to deallocated memory, so the run-time system may choose, among other options, to clear (fill with zeroes) the space used by the deleted object, to allocate a new object in that space or to return that memory to the operating system. The best that the programmer can hope for is that the program crashes immediately. However, it is more likely that it will continue for millions of cycles before crashing (making debugging difficult) or simply run to completion but produce incorrect results (which might not even be easy to detect). One way to detect dangling references is to use fat pointers. These can be used to hold the version number of their target as well as the pointer itself. Operations such as dereferencing must then check that the version number stored in the pointer matches that stored in the object. However, this approach is mostly restricted to use with debugging tools because of its overhead, and it is not completely reliable.2

The second kind of error is that the programmer may fail to free an object no longer required by the program, leading to a memory leak. In small programs, leaks may be benign but in large programs they are likely to lead either to substantial performance degradation (as the memory manager struggles to satisfy new allocation requests) or to failure (if the program runs out of memory). Often a single incorrect deallocation may lead to both dangling pointers and memory leaks (as in Figure 1.1).

Programming errors of this kind are particularly prevalent in the presence of sharing, when two or more subroutines may hold references to an object. This is even more problematic for concurrent programming when two or more threads may reference an object. With the increasing ubiquity of multicore processors, considerable effort has gone into the construction of libraries of data structures that are thread-safe. Algorithms that access these structures need to guard against a number of problems, including deadlock, livelock and ABA errors.3 Automatic memory management eases the construction of concurrent algorithms significantly (for example, by eliminating certain ABA problems). Without this, programming solutions are much more complicated [Herlihy and Shavit, 2008].

The issue is more fundamental than simply being a matter of programmers needing to take more care. Difficulties of correct memory management are often inherent to the programming problem in question. 4 More generally, safe deallocation of an object is complex because, as Wilson [1994] points out, “liveness is a global property”, whereas the decision to call free on a variable is a local one.

So how do programmers cope in languages not supported by automatic dynamic memory management? Considerable effort has been invested in resolving this dilemma. The key advice has been to be consistent in the way that they manage the ownership of objects [Belotsky, 2003; Cline and Lomow, 1995]. Belotsky [2003] and others offer several possible strategies for C++. First, programmers should avoid heap allocation altogether, wherever possible. For example, objects can be allocated on the stack instead. When the objects’ creating method returns, the popping of the stack will free these objects automatically. Secondly, programmers should pass and return objects by value, by copying the full contents of a parameter/result rather than by passing references. Clearly both of these approaches remove all allocation/deallocation errors but they do so at the cost of both increased memory pressure and the loss of sharing. In some circumstances it may be appropriate to use custom allocators, for example, that manage a pool of objects. At the end of a program phase, the entire pool can be freed as a whole. C++ has seen several attempts to use special pointer classes and templates to improve memory management. These overload normal pointer operations in order to provide safe storage reclamation. However, such smart pointers have several limitations. The auto_ptr class template cannot be used with the Standard Template Library and will be deprecated in the expected next edition of the C++ standard [Boehm and Spertus, 2009].5 It will be replaced by an improved unique_ptr that provides strict ownership semantics that allow the target object to be deleted when the unique pointer is. The standard will also include a reference counted shared_ptr, 6 but these also have limitations. Reference counted pointers are unable to manage self-referential (cyclic) data structures. Most smart pointers are provided as libraries, which restricts their applicability if efficiency is a concern. Possibly, they are most appropriately used to manage very large blocks, references to which are rarely assigned or passed, in which case they might be significantly cheaper than tracing collection. On the other hand, without the cooperation of the compiler and run-time system, reference counted pointers are not an efficient, general purpose solution to the management of small objects, especially if pointer manipulation is to be thread-safe. The plethora of strategies for safe manual memory management throws up yet another problem. If it is essential for the programmer to manage object ownership consistently, which approach should she adopt? This is particularly problematic when using library code. Which approach does the library take? Do all the libraries used by the program use the same approach?
— Jones, Richard. The Garbage Collection Handbook (Chapman & Hall/CRC Applied Algorithms and Data Structures series) (p. 2). CRC Press.
0
Модератор
 Аватар для Curry
5168 / 3530 / 536
Регистрация: 01.06.2013
Сообщений: 7,678
Записей в блоге: 9
28.07.2020, 23:00  [ТС]
Цитата Сообщение от korvin_ Посмотреть сообщение
Нет, чтобы решить проблему корректного освобождения памяти.
Проблему, которая присутствует только при изучении С++ начинающими, не дошедшими ещё до смартпоинтеров, упомянутых в вашей ссылке.
С ними только в очень редких случаях, "self-referential (cyclic) data structures" нужно свой смарт сделать, под задачу. Один раз на тысячи. Можно было бы сделать смарт отслеживающий циклические ссылки, но это затратно по времени и редко надо.
Собственно, GC отслеживает циклические ссылки всегда, и это не какой то мистический алгоритм присущий GC, просто это тормоза.
Вывод в конце надуман. Память может течь и с GC, в том числе и в библиотечном коде.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
29.07.2020, 00:07
Цитата Сообщение от Curry Посмотреть сообщение
Проблему, которая присутствует только при изучении С++ начинающими, не дошедшими ещё до смартпоинтеров
Когда проблема возникла, C++ даже в проекте не было.

Цитата Сообщение от Curry Посмотреть сообщение
просто это тормоза.
Просто это безосновательное утверждение.

Всё ещё жду Хаскелла без GC.
0
Модератор
 Аватар для Curry
5168 / 3530 / 536
Регистрация: 01.06.2013
Сообщений: 7,678
Записей в блоге: 9
29.07.2020, 00:45  [ТС]
Цитата Сообщение от korvin_ Посмотреть сообщение
Когда проблема возникла, C++ даже в проекте не было.
Когда проблема возникла, да. А когда статья написана, то С++ уже было. И языки с GC развиваются и появляются по той причине что я озвучил.
Цитата Сообщение от korvin_ Посмотреть сообщение
Всё ещё жду Хаскелла без GC.
rust
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
29.07.2020, 02:41
Цитата Сообщение от Curry Посмотреть сообщение
Что такое пассивные буфера?
Ну пассивные буфера. Т.е. просто буфера для хранения данных, не являющиеся активными сущностями способными отслеживать изменение среды и реагировать на него.

Добавлено через 47 секунд
Цитата Сообщение от Curry Посмотреть сообщение
С чего это их невозможно определить без ООП?
C того что нет активных сущностей способных реагировать на изменения среды. К примеру на разрыв ссылок.

Добавлено через 1 минуту
Цитата Сообщение от Curry Посмотреть сообщение
Без ООП на тьюринг-полном языке можно сделать всё тоже что и с ООП.
Это вопрос не языка а методики проектирования. Без модели активных сущностей, умеющих самостоятельно реагировать на изменентя среды, все это превращается в тюринг-полную трясину. К отложенному разгребанию оной трясины на заре эволюции приспособили GC, недостатки которого очевидны.

Добавлено через 1 минуту
Цитата Сообщение от Curry Посмотреть сообщение
И что такое их иерархия?
Ну естественно что набор так или иначе связанных между собой ссылками буферов.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
29.07.2020, 09:05
Цитата Сообщение от Curry Посмотреть сообщение
Когда проблема возникла, да. А когда статья написана, то С++ уже было.
в «статье» (отрывке из книги) описана история и причины возникновения.

Цитата Сообщение от Curry Посмотреть сообщение
rust
Нет.

Цитата Сообщение от Curry Посмотреть сообщение
И языки с GC развиваются и появляются по той причине что я озвучил.
Ты дважды чушь написал в одном посте выше, поэтому и это мнение пустословно.
0
Модератор
 Аватар для Curry
5168 / 3530 / 536
Регистрация: 01.06.2013
Сообщений: 7,678
Записей в блоге: 9
29.07.2020, 09:43  [ТС]
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну пассивные буфера. Т.е. просто буфера для хранения данных, не являющиеся активными сущностями
Постарайтесь не изобретать свою терминологию. Понятнее от этого не становится.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
нет активных сущностей способных реагировать на изменения среды. К примеру на разрыв ссылок.
ООП для этого не обязательно. Желательна возможность компилятора вставлять вызовы указанных функций при освобождении данных указанного типа. Хотя и без этого задача решается (VCL,WinForms,WPF ...) на библиотечном уровне, но это хуже.


korvin_, что означает ваш смайлик? На солнышке перегрелись?
Цитата Сообщение от korvin_ Посмотреть сообщение
в «статье» (отрывке из книги) описана история и причины возникновения.
Да, трава зелёная, и она дорастает до смартпоинтеров. И я писал о причине распространённости, развитии и появлении новых языков с GC сейчас, а не когда компьютеры были ламповые.
Цитата Сообщение от korvin_ Посмотреть сообщение
Нет.
Да. В rust-е очень много от haskell. Знание haskell помогло мне изучать rust. ЧТо же до lazy evaluation, то оно реализуется и в языках без GC, включая С++ и rust.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.07.2020, 09:43

Kotlin для Android
Здравствуйте, знаю Java SE на приличном уровне, но решил, что для разработки Android приложения лучше подойдет Kotlin, подскажите...

[Kotlin] ACM ICPC
Котлин уже попал в список языков чемпионата мира по программированию (ACM ICPC). Думаю, очень хорошие перспективы у этого языка.

Kotlin lateinit переменная
синтаксис на Kotlin. есть переменная lateinit , но когда при getApiServisce() я проверяю на null происходит фатальная ошибка lateint...

Простая задача по Kotlin
Дана непустая последовательность ненулевых целых чисел. Используя функцию, определить, сколько раз в этой последовательности меняется знак....

Как учить Kotlin и стоит ли?
Добрый день, вообще я фрилансер пишу сайты на таких технологиях HTML, CSS, jQuery, WordPress, сейчас для практики делаю для себя блог на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
380
Ответ Создать тему
Новые блоги и статьи
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru