Re[9]: А может перейти на C/C++ ?
От: ути-пути Россия  
Дата: 08.05.23 15:49
Оценка:
Здравствуйте, Carc, Вы писали:

C> в конце функции в случае успешного завершения. Не?


Не, он не хочет так, хочет врукопашную.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[10]: А может перейти на C/C++ ?
От: ути-пути Россия  
Дата: 08.05.23 15:51
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Ну он у меня спрашивал, я делаю не так. Я просто по старинке кидаю и ловлю исключение.


Так при исключении еще нужно знать, что уже выделено, а что — нет. А иногда и порядок важен.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[8]: А может перейти на C/C++ ?
От: CreatorCray  
Дата: 08.05.23 19:35
Оценка:
Здравствуйте, flаt, Вы писали:

F>А что может быть вместо []?

итераторы например
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[6]: А может перейти на C/C++ ?
От: CreatorCray  
Дата: 08.05.23 19:35
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>но при этом "вызывать демонов"?

Шта?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[7]: А может перейти на C/C++ ?
От: CreatorCray  
Дата: 08.05.23 19:35
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Возможно это именно то, что ты называешь RAII.


Только не говори что ты не знаешь что это такое.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[5]: А может перейти на C/C++ ?
От: CreatorCray  
Дата: 08.05.23 19:35
Оценка: +3 :)
Здравствуйте, rudzuk, Вы писали:

R>Вот ты смеешься, а винда уже начинает ржаветь изнутри.

Она гниёт изнутри начиная с 8й

R> Как бы МС себе новую любимую жену не назначила...

Они уже по многим направлениям катятся в пропасть, увы.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[8]: А может перейти на C/C++ ?
От: alpha21264 СССР  
Дата: 08.05.23 19:47
Оценка:
Здравствуйте, ути-пути, Вы писали:

A>>PS.

A>>Я использую принцип "как скобки". Кто память захватил, тот и освобождает.
A>>Это или функция делает new в начале и delete в конце,

УП>А если этих new больше одного, и между ними или в одном из них бросит? Ты всю эту логику прописываешь вручную?


В чём проблема бросить и поймать исключение и освободить всех, кто не NULL?
Ах да, их же предварительно обнулить надо. Но современный gcc это сам делает.

Течёт вода Кубань-реки куда велят большевики.
Re[3]: А может перейти на C/C++ ?
От: Alekzander  
Дата: 08.05.23 20:10
Оценка:
Здравствуйте, flаt, Вы писали:

A>>Странная постановка вопроса. Есть области, где без него до сих пор никуда (к сожалению). Браузеры писать или ядра. Или классические Win-приложения, если нужен малый размер и совместимость.


F>Rust.


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

Что значит в данном случае "совместимость"? Поскольку основное приложение работало даже под голой XP (ну, так получилось, извиним за это разработчиков), странно было бы ломать совместимость на уровне инсталлятора и собирать только под Win10. Что значит размер? GUI-часть была написана на основе нескольких ::CreateWindowEx(), распаковка — имплементацией zip одной из библиотек, плюс несколько функций из WinAPI. Размер копеечный, короче. Ни зависимостей, ничего.

Проект был сделан на основе пустого Win-приложения в студии (VC++). Как такое просто и быстро запилить на Rust, и что мы от этого выигрываем?
Re[13]: А может перейти на C/C++ ?
От: Baiker  
Дата: 09.05.23 00:07
Оценка: 3 (1)
Здравствуйте, rudzuk, Вы писали:

R>Здравствуйте, Marty, Вы писали:


M>> B>> C# заткнул за пояс этот тухлый мир WORE простым, но качественным инструментом "только под венду".


M>> R>Шарп — та же жаба, только в профиль. И вообще-то это жаба заткнула шарп. В энтерпрайзах жаба, на ведре жаба... Где же шарп? На венде! А венда где? В #@$%е. Правда МС, кажется, начала о чем-то догадываться и активно кинулась в эту вашу кроссплатформу.


M>> Скорее, это шарп отжал большую долю жабы. Потому как когда жаба появилась, никакого шарпа не было


R>Речь не про отжал, а про заткнул. Жаба заткнула амбизиозного выскочку


Опять какую-то херню несёшь... Тебе уже напомнили, Жаба была ПЕРВОЙ. А значит априори не могла никого заткнуть. Логика — ни бум-бум??

R> Десктоп из него не вышел


Ты про шарп?? Ещё как вышел! Прекрасно всё пишется на порядок быстрее любых жаб.

R> на мобилах оно не взлетело


Далеко не по вине самого шарпа. Тут политика шлюх из MS.

R> в энтерпрайзах его не ждут


Это у тебя в 8Б не ждут. Интыпрайз прекрасно принял C# со всеми технологиями, включая ASP. Это практически законченная платформа, от веба и облаков до баз и гуёв.

R> Теперь от всех амбиций у шарпа осталось только побираться по вебу, деля кусок хлеба с пыхом (в этой нише он тоже сольется)


Слушай, такое ощущение, что тебя разморозили, ударили по голове, потом снова заморозили и вот сейчас ты пишешь какую-то ахинею, за которую у меня испанский стыд. Может, ты просто сознаешься, что ни черта не знаешь о платформе и уйдёшь канпелять emacs? Позоришься как клоун, пишешь бред собачий, а люди на тебя время тратят...
Re[9]: А может перейти на C/C++ ?
От: ути-пути Россия  
Дата: 09.05.23 00:32
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>В чём проблема бросить и поймать исключение и освободить всех, кто не NULL?


В правильной последовательности, например.

A>Ах да, их же предварительно обнулить надо.


Ага, говнокод, мешающий чтению реального кода

A>Но современный gcc это сам делает.


А завтра перестанет, и твой код сломается.
А вообще, хотелось бы пример. Ты что, еще и все переменные предварительно в начале функции объявляешь? А если нет, то как ты собрался их использовать для удаления?

Я вообще не понимаю этого желания засорять код кучей ненужных шаблонных строчек, это только мешает чтению и порождает ошибки. И ладно бы выигрыш какой от этого был...
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[6]: А может перейти на C/C++ ?
От: LaptevVV Россия  
Дата: 09.05.23 06:31
Оценка:
A>>Ну RAII тоже нужно освоить. Не всем по силам.
CC>Казалось бы...
CC>Впрочем я видел людей которые физически не способны понять что такое указатель. Но таких надо просто не подпускать к профессии.
Спольски писал про таких.
Они вполне себе прикладные программеры на Яве или Додиезе...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[10]: А может перейти на C/C++ ?
От: Carc Россия https://vk.com/gosha_mazov
Дата: 09.05.23 06:50
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Здравствуйте, Carc, Вы писали:


УП>>>А если этих new больше одного, и между ними или в одном из них бросит? Ты всю эту логику прописываешь вручную?

C>>auto_ptr
C>>
C>>auto_ptr<...> + auto_ptr<...>->Release
C>>

C>> в конце функции в случае успешного завершения. Не?

A>Ну он у меня спрашивал, я делаю не так. Я просто по старинке кидаю и ловлю исключение.

ПлятЪ (C).
А как тогда в обработчике исключения, особенно если исключение кидается в вызываемой функции, а ловится в вызывающей функции освободить указатели на new-объекты, которые висели на стеке вызываемой функции?

А ну нафиг! (С)
Лучше как мантру повторять, кто память выделял, тот ее и освобождает. И по максимуму к этому стремится.
Ясень пень, есть особые случаи. Но особые случаи на то и особые, чтобы не возникать через раз на простом элементарном коде. Но для особых случаев и решения особые.

Мне показалось, что раз исключения есть — то здесь вам не Си.
Соответственно, шаблоны доступны. Ну вроть как тогда все просто: выделяем память под объекты через new, и сразу их хватаем в auto_ptr.
На успешном выходе из функции, все эти auto_ptr релизим. И всё работает как оно нам надо.

А вот если что не так, то выходим из функции досрочно, и все эти auto_ptr сами за собой подчистят все.
Мне кажется, что так надежнее.

Не надо ни о чем гадать: функция успешно отработала? Получите в вызывающей функции ваши эти Интернеты указатели, которые просили.
Что-то пошло не так: вызываемая функция сообщит об этом (ну как-то там вернет NULL-s/null_ptr-s, или как то иначе), но вызываемая функция сама за собой всё и подчистит в таком случае.

Тут ломаться-то вроде и нечему. И исключения те же, кидай сколько хошь.
Все, конечно, имхо...
Aml Pages Home
Отредактировано 09.05.2023 16:58 Carc . Предыдущая версия . Еще …
Отредактировано 09.05.2023 6:51 Carc . Предыдущая версия .
Re: А может перейти на C/C++ ?
От: vdimas Россия  
Дата: 09.05.23 07:06
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Или он не для средних умов? Знаю Python и PHP.


Опыт в Питоне поможет не сильно, а после PHP увидишь достаточно много знакомого.


M>Знаю, тут много спецов, пишущих на C/C++. Что вы можете сказать про этот язык?


Языки "платформенного уровня" со всеми вытекающими.


M>Стоит ли в 40 лет его начать изучать?


Попробовать стоит, если любопытно.
Последнее ключевое, бо тобой может рулить лишь твоя собственная мотивация.


M>Не слишком ли сложен? (слышал, там море подводных камней).


Наоборот, подводные камни все на виду, в отличие от "языков в себе".


M>Походу он какой-то неумираемый и всегда уверенно смотрящий в будущее.


А как иначе, если практически весь платформенный код на них написан, включая Питон и PHP?
Re[7]: А может перейти на C/C++ ?
От: CreatorCray  
Дата: 09.05.23 07:22
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Спольски писал про таких.

Я таких вживую видел

LVV>Они вполне себе прикладные программеры на Яве или Додиезе...

Угу. Вот тольно что забавно: среди них как то необычно много ярых фанатиков того, что они поняли, вкупе с лютобешенной (tm), просто до иррационального, ненавистью того, что не смогли.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[4]: А может перейти на C/C++ ?
От: Privalov  
Дата: 09.05.23 07:29
Оценка:
Здравствуйте, Marty, Вы писали:

M>Чужой код на любом языке практически всегда выглядит как говно


Случается, но не всегда. Я уже писал как-то: в начале карьеры я рвботал в проекте, в котором не было ни строчки говнокода. "Искра-226", древнючий уже тогда Васик. В коде я ориентировался совершенно свободно.
Re[14]: А может перейти на C/C++ ?
От: rudzuk  
Дата: 09.05.23 16:55
Оценка: -1
Здравствуйте, Baiker, Вы писали:

B> R>Речь не про отжал, а про заткнул. Жаба заткнула амбизиозного выскочку


B> Опять какую-то херню несёшь... Тебе уже напомнили, Жаба была ПЕРВОЙ. А значит априори не могла никого заткнуть. Логика — ни бум-бум??


Ладно, давай, как для тупых. Вот была такая жаба, была себе и была. Пригрела скудных мозгом на своей широкой груди, распростерла длани призывая сих. Увидали это в майкрософт и смекнули, что скудных мозгом и в их пастве в достатке, и нужно придумать свою жабу. Долго ли, коротко ли, но придумали. Родился великан могучий и зычным гласом возопил, скудных мозгом призывая. Прибежали скудные мозгом к великану, ибо сияли доспехи его со всех сторон и глашатаи хвалили их. Бросил вызов великан жабе великой да могучей. Началась великая битва. В общем, загнала жаба великана под лавку, а майкрософт уползла зализывать раны. Тут и сказке конец. Надеюсь, до тебя дошло.

B> Ты про шарп?? Ещё как вышел! Прекрасно всё пишется на порядок быстрее любых жаб.


То, что ты можешь писать свой складской учет на винформсах ни о чем не говорит. Речь о том, что планы-то, пилять, были наполеоновские, когда дотнет должен был стать подсистемой винды, на которой, в частности, должен был работать весь гуй.

B> R> на мобилах оно не взлетело


B> Далеко не по вине самого шарпа. Тут политика шлюх из MS.


А пофиг по чьей вине (весь такой нетормозной дотнет то и дело получает перфрманс импрувментс, скоро этот перформанс девать будет некуда). Была дерзская попытка, с покупкой ноклы, но случились обосратушки. Жаба на мобилах есть (а она была еще на моей кнопочной нокии), а шарпа нет. Вот это и называется заткнули выскочку. Теперь-то понятно?

B> R> в энтерпрайзах его не ждут


B> Это у тебя в 8Б не ждут. Интыпрайз прекрасно принял C# со всеми технологиями, включая ASP. Это практически законченная платформа, от веба и облаков до баз и гуёв.


Разве что тот ынтерпрайз, который МС проспонсировала Они такие затейники. А твои две кассы в торговом зале это не энтерпрайз.

B> Слушай, такое ощущение, что тебя разморозили, ударили по голове, потом снова заморозили и вот сейчас ты пишешь какую-то ахинею, за которую у меня испанский стыд. Может, ты просто сознаешься, что ни черта не знаешь о платформе и уйдёшь канпелять emacs? Позоришься как клоун, пишешь бред собачий, а люди на тебя время тратят...


Некрофилы мне о платформах рассказывают, вот умора.
avalon/3.0.2
Re: А может перейти на C/C++ ?
От: CRT  
Дата: 09.05.23 19:38
Оценка:
вопрос по теме.
Какого рода программы сейчас делают в России на С/С++ те кого берут на вакансии "программист С/С++"?
Проще говоря: подо что примерно берут большинство программистов на С/С++ в России?

Я говорю именно в России. Понятно, что в целом на С/С++ пишут всякие там браузеры, игры, операционные системы, СУБД, компиляторы и т.п.
Но в России не делают СУБД, браузеры, операционные системы, компиляторы и т.п.


Я сам начинал как программист С/С++, но это были простые программки не достойные упоминания. Более менее серьезный проект на С/С++ я делал, но это своё shareware. А вот на вакансиях чего хотят, в компаниях?
Re[2]: А может перейти на C/C++ ?
От: rudzuk  
Дата: 09.05.23 19:47
Оценка: 1 (1)
Здравствуйте, CRT, Вы писали:

CRT> Но в России не делают СУБД, браузеры, операционные системы, компиляторы и т.п.


Делают Про браузеры не знаю, а все остальное делают.
avalon/3.0.2
Re[11]: А может перейти на C/C++ ?
От: alpha21264 СССР  
Дата: 09.05.23 21:15
Оценка:
Здравствуйте, ути-пути, Вы писали:

A>>Ну он у меня спрашивал, я делаю не так. Я просто по старинке кидаю и ловлю исключение.


УП>Так при исключении еще нужно знать, что уже выделено, а что — нет. А иногда и порядок важен.


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

Течёт вода Кубань-реки куда велят большевики.
Re[11]: А может перейти на C/C++ ?
От: alpha21264 СССР  
Дата: 09.05.23 21:22
Оценка: :))
Здравствуйте, Carc, Вы писали:


A>>Ну он у меня спрашивал, я делаю не так. Я просто по старинке кидаю и ловлю исключение.

C>ПлятЪ (C).
C>А как тогда в обработчике исключения, особенно если исключение кидается в вызываемой функции, а ловится в вызывающей функции освободить указатели на new-объекты, которые висели на стеке вызываемой функции?

Это сделает вызываемая функция в своём обработчие исключений и бросит исключение дальше.
Освобождает тот, кто захватил.

C>Соответственно, шаблоны доступны. Ну вроть как тогда все просто: выделяем память под объекты через new, и сразу их хватаем в auto_ptr.

C>На успешном выходе из функции, все эти auto_ptr релизим. И всё работает как оно нам надо.

Так тоже наверное можно, но...
Вот я познакомился с библиотекой OpenShot. Там всё на auto_ptr. И память течёт. Странно.

А у меня не течёт.

PS.
А шаблоны мне эстетически не нравятся. Из-за них строчки программы не умещаются в строчки текста.
И визуальная структура текста ломается.

Течёт вода Кубань-реки куда велят большевики.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.