Указатели мертвы?

User avatar
perasperaadastra
Уже с Приветом
Posts: 20128
Joined: 21 Feb 2009 22:55
Location: Лох Онтарио

Указатели мертвы?

Post by perasperaadastra »

Указатели в наши дни мертвы или используются так же активно, как в килобайтно-мегабайтные времена?
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Указатели мертвы?

Post by Medium-rare »

Herb проехался по разным типам указателей на CppCon: https://www.youtube.com/watch?v=xnqTKD8uD64" onclick="window.open(this.href);return false; С 12:10.
Постановка вопроса, либо должно быть смешно, либо гуманитарий, либо учитель информатики из школы для проблемных подростков. :D
... and even then it's rare that you'll be going there...
User avatar
M. Ridcully
Уже с Приветом
Posts: 12017
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Указатели мертвы?

Post by M. Ridcully »

perasperaadastra wrote:Указатели в наши дни мертвы или используются так же активно, как в килобайтно-мегабайтные времена?
А разве с "килобыйтно-мегабайтных" времён чего-то принципиального в архитектуре железа поменялось?

Вот когда освоят квантовые контуперы, или ещё чего подобное, тогда посмотрим. А пока без укозателей тяжело. :mrgreen:
Мир Украине. Свободу России.
User avatar
Ion Tichy
Уже с Приветом
Posts: 13339
Joined: 07 Dec 2004 04:00
Location: Москва->CO

Re: Указатели мертвы?

Post by Ion Tichy »

M. Ridcully wrote:
perasperaadastra wrote:Указатели в наши дни мертвы или используются так же активно, как в килобайтно-мегабайтные времена?
А разве с "килобыйтно-мегабайтных" времён чего-то принципиального в архитектуре железа поменялось?

Вот когда освоят квантовые контуперы, или ещё чего подобное, тогда посмотрим. А пока без укозателей тяжело. :mrgreen:
Кстати, а аналоговые компутеры где-нить еще используются?
Как же это вы без гравицаппы пепелац выкатываете из гаража? Это непорядок...
User avatar
AndreyT
Уже с Приветом
Posts: 3000
Joined: 14 Apr 2004 01:11
Location: SFBA (было: Минск, Беларусь)

Re: Указатели мертвы?

Post by AndreyT »

perasperaadastra wrote:Указатели в наши дни мертвы или используются так же активно, как в килобайтно-мегабайтные времена?
Странный какой-то вопрос. Указатели где? В каком языке?

Язык С используется так же активно, как в килобайтно-мегабайтные времена. А никто не может в С без указателей.
Best regards,
Андрей
DropAndDrag
Уже с Приветом
Posts: 6019
Joined: 11 Mar 2011 05:36

Re: Указатели мертвы?

Post by DropAndDrag »

какая связь между указателями и килобайтно-мегабайтными временами?
пока указатели будут в железном ассемблере процессоров никто никуда не денется от указателей.
другое дело, что их прячут чтобы было легче программировать. скажем от С/С++ к С#.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Указатели мертвы?

Post by Сабина »

"Why Java developers wear glasses ? Because they can't C# "(С)
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
perasperaadastra
Уже с Приветом
Posts: 20128
Joined: 21 Feb 2009 22:55
Location: Лох Онтарио

Re: Указатели мертвы?

Post by perasperaadastra »

AndreyT wrote:Странный какой-то вопрос. Указатели где? В каком языке?

Язык С используется так же активно, как в килобайтно-мегабайтные времена. А никто не может в С без указателей.
В С, конечно, без указателей не прожить, но разве доля С не уменьшилась в наши дни? Взять, например, квантов — они, поди, пользуются каким-нибудь Питоном, и про указатели не вспоминают. Кроме того, в килобайтно-мегабайтные времена оптимальность была превыше всего, а нынче если быдлокод работает, то все счастливы. Раньше на программиста учиться нужно было, а сейчас любой чайник вроде меня может из интернета надергать куски кода, и сшить франкенштейна.
User avatar
kyk
Уже с Приветом
Posts: 31589
Joined: 21 Nov 2004 05:12
Location: камбуз на кампусе

Re: Указатели мертвы?

Post by kyk »

perasperaadastra wrote:а сейчас любой чайник вроде меня .
не "любой", а (в)умный :umnik1:
Лучше переесть, чем недоспать! © Обратное тоже верно :umnik1:
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: Указатели мертвы?

Post by OtherSide »

perasperaadastra wrote:
AndreyT wrote:Странный какой-то вопрос. Указатели где? В каком языке?

Язык С используется так же активно, как в килобайтно-мегабайтные времена. А никто не может в С без указателей.
В С, конечно, без указателей не прожить, но разве доля С не уменьшилась в наши дни? Взять, например, квантов — они, поди, пользуются каким-нибудь Питоном, и про указатели не вспоминают. Кроме того, в килобайтно-мегабайтные времена оптимальность была превыше всего, а нынче если быдлокод работает, то все счастливы. Раньше на программиста учиться нужно было, а сейчас любой чайник вроде меня может из интернета надергать куски кода, и сшить франкенштейна.
Ну во первых, что бы нормально кодить даже на питоне приходится лезть в его нутро и разбирать как указатели работают внутри.
На любом собеседовании по C# и Джава справшивают про устройство гарбадж коллектора, ссылочные и по значению типы и т.д.

Во вторых программировать, наоборот, стало гораздо сложнее чем раньше на мой взгляд (кодирую уже лет 20)
User avatar
flip_flop
Уже с Приветом
Posts: 4379
Joined: 20 Jun 2001 09:01

Re: Указатели мертвы?

Post by flip_flop »

perasperaadastra wrote: В С, конечно, без указателей не прожить, но разве доля С не уменьшилась в наши дни?
Нет. Два больших брата (C & Java) устойчиво доминируют многие годы http://www.tiobe.com/index.php/content/ ... index.html" onclick="window.open(this.href);return false;
Взять, например, квантов — они, поди, пользуются каким-нибудь Питоном, и про указатели не вспоминают.
Зависит от задачи. Для каких нибудь HFT любой интерпретируемый язык (и Питон иже с ними) смерти подобен.
Кроме того, в килобайтно-мегабайтные времена оптимальность была превыше всего, а нынче если быдлокод работает, то все счастливы.
Вы будете смеяться но оптимальность превыше всего и в террабайтно - петабайтные времена. Взять хотя бы HPC.
Раньше на программиста учиться нужно было, а сейчас любой чайник вроде меня может из интернета надергать куски кода, и сшить франкенштейна.
Ну, это любительство. Из возможности лепить мёртвого детища Франкенштейна никак не следует смерть вечнозелёного С с указателями. Впрочем, указатели подобны тяжёлому мечу - в слабых руках могут наделать бед.
OtherSide
Уже с Приветом
Posts: 15770
Joined: 01 Mar 2008 15:14

Re: Указатели мертвы?

Post by OtherSide »

Ну как вечнозеленого. Си занял сейчас ту же нишу, что ассемблер 15-20 лет назад
User avatar
thinker
Уже с Приветом
Posts: 26871
Joined: 29 Aug 2000 09:01

Re: Указатели мертвы?

Post by thinker »

perasperaadastra wrote:В С, конечно, без указателей не прожить, но разве доля С не уменьшилась в наши дни?
Нет. Как выше отметили, что раньше делали на ассемблере (embedded), то теперь делают на С. A иногда даже поглядывают в сторону С++.
All rights reserved, all wrongs revenged.
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: Указатели мертвы?

Post by Medium-rare »

В C++ наделали новых "умных" указателей, и не так давно ввели их в стандарт языка. Теперь даже старые добрые открытые new и delete на указатель в коде считаются дурным тоном. Ибо не гарантируют правильного жизненного цикла динамически выделенного объекта по тому указателю. На то теперь есть std::make_unique и std::make_shared. Не могу, тем не менее сказать, что всецело на них перешёл, поскольку в Qt уже много лет свои типы "умных", и выделение объекта через new с передачей ему указателя на "родителя" есть законный приём, который даже никак не обойти в UI.

Указателей стало больше, с ними стало веселее.
... and even then it's rare that you'll be going there...
User avatar
AndreyT
Уже с Приветом
Posts: 3000
Joined: 14 Apr 2004 01:11
Location: SFBA (было: Минск, Беларусь)

Re: Указатели мертвы?

Post by AndreyT »

perasperaadastra wrote:
AndreyT wrote:Странный какой-то вопрос. Указатели где? В каком языке?

Язык С используется так же активно, как в килобайтно-мегабайтные времена. А никто не может в С без указателей.
В С, конечно, без указателей не прожить, но разве доля С не уменьшилась в наши дни?
В относительном выражении (т.е. именно доля) может быть и уменьшилась, но скорее засчет того, что трактование термина "software development" стало более свободным (зачастую до смешного). А в абсолютном выражении - выросла.
perasperaadastra wrote:Кроме того, в килобайтно-мегабайтные времена оптимальность была превыше всего, а нынче если быдлокод работает, то все счастливы. Раньше на программиста учиться нужно было, а сейчас любой чайник вроде меня может из интернета надергать куски кода, и сшить франкенштейна.
Я часто слышу пободные заявления в отншении соврешенно разных технических областей. Например, и микросхемы сегодня тодже никто не разрабатывает: просто надергают библотечных блоков, да слепят, что надо, как из Лего. Или ПЛМ прожгут...

Действительности это, разумеется, не соответствует. Настоящее программирование, настоящая микроэлектроника, и много другого "настоящего" никуда не делись. Иллюзия преобладания "быдлокода" и "быдлокодеров" вытекает лишь из натуральной горлопанистости последних.
Best regards,
Андрей
User avatar
M. Ridcully
Уже с Приветом
Posts: 12017
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Указатели мертвы?

Post by M. Ridcully »

perasperaadastra wrote:в килобайтно-мегабайтные времена оптимальность была превыше всего, а нынче если быдлокод работает, то все счастливы
"If everything seems under control, you're just not going fast enough"
По аналогии - если для вас оптимальность не важна, то вы решаете слишком простые задачи.

Кстати, вспомнилось, про "ужасы" ручного управления памятью. Несколько работ назад делали в компании клиента на Flash (точнее Flex вроде называлось, но может я чего-то уже путаю). Клиент достаточно большой и навороченный, в каком-то смысле они pushed the limits of what's possible in Flash, как я понимаю. Во Flash вроде есть сборщик мусора, но видимо не такой прилизанный и отлаженный, как в JVM. В-общем мне как-то UI человек рассказывал, на какие ухищрения им в клиенте приходится идти, чтобы памяти хватало. Там было какое-то совершенное безумие с ресайклингом объектов, периодическими попытками как-то (неявно!) повлиять на GC, в-общем - довольно много кода, _специально_ написанного для memory management.

Я помню слушал и всё никак не мог нарадоваться, что malloc() и free() - это так просто. :-)
Мир Украине. Свободу России.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Указатели мертвы?

Post by Сабина »

А мне наоборот кажется сейчас оптимизация во главе угла, особенно с приходом big data etc. Просто железо усовершенствовалось, плюс технологии прыгнули гигантским скачком, concerns с указателями ушли в underlying layer и для многих прикладных программистов hidden. Зато им надо волноваться про треды, про ту же память но с уровня потребителя of underlying language, framework, distributed environment. Ничего страшного в этом не вижу. Сложность увеличивается и идёт горизонтальное разделение экспертизы в том числе. Указатели остались в своём слое и уверена что среди тамошних экспертов они не потеряли ни грамма значимости
https://www.youtube.com/watch?v=wOwblaKmyVw
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Указатели мертвы?

Post by nightmare2 »

flip_flop wrote:
perasperaadastra wrote: В С, конечно, без указателей не прожить, но разве доля С не уменьшилась в наши дни?
Нет. Два больших брата (C & Java) устойчиво доминируют многие годы http://www.tiobe.com/index.php/content/ ... index.html" onclick="window.open(this.href);return false;
Мне кажется этот индекс более точно показывает тенденцию.
http://pypl.github.io/PYPL.html
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Указатели мертвы?

Post by Dmitry67 »

Эх
Где мой старый добрый
static char BUF[256];
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Указатели мертвы?

Post by nightmare2 »

Сабина wrote:А мне наоборот кажется сейчас оптимизация во главе угла, особенно с приходом big data etc. Просто железо усовершенствовалось, плюс технологии прыгнули гигантским скачком, concerns с указателями ушли в underlying layer и для многих прикладных программистов hidden. Зато им надо волноваться про треды, про ту же память но с уровня потребителя of underlying language, framework, distributed environment. Ничего страшного в этом не вижу. Сложность увеличивается и идёт горизонтальное разделение экспертизы в том числе. Указатели остались в своём слое и уверена что среди тамошних экспертов они не потеряли ни грамма значимости
Для прикладных программистов они всегда были относительно "hidden" так же как и "threads", но сложные и эффективные программы без указателей не написать.

Фрамеворкс - это не прогресс, а скорее "костыль" для тех, кто не может ходить на своих ногах. Таких правда много, поэтому эта штука и востребована. Прикол в том, что фрамеворки становятся все сложнее и уже необходимы костыли для них.
После всего этого, программирование с указателями становится просто удовольствием.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
User avatar
thinker
Уже с Приветом
Posts: 26871
Joined: 29 Aug 2000 09:01

Re: Указатели мертвы?

Post by thinker »

M. Ridcully wrote:Кстати, вспомнилось, про "ужасы" ручного управления памятью. Несколько работ назад делали в компании клиента на Flash (точнее Flex вроде называлось, но может я чего-то уже путаю). Клиент достаточно большой и навороченный, в каком-то смысле они pushed the limits of what's possible in Flash, как я понимаю. Во Flash вроде есть сборщик мусора, но видимо не такой прилизанный и отлаженный, как в JVM. В-общем мне как-то UI человек рассказывал, на какие ухищрения им в клиенте приходится идти, чтобы памяти хватало. Там было какое-то совершенное безумие с ресайклингом объектов, периодическими попытками как-то (неявно!) повлиять на GC, в-общем - довольно много кода, _специально_ написанного для memory management.

Я помню слушал и всё никак не мог нарадоваться, что malloc() и free() - это так просто. :-)
These are not used in embedded C.
All rights reserved, all wrongs revenged.
User avatar
M. Ridcully
Уже с Приветом
Posts: 12017
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Указатели мертвы?

Post by M. Ridcully »

thinker wrote:These are not used in embedded C.
А при чём тут Embedded?
Да даже если и embedded, то не суть. Моя идея была в том, что при кривом GC над управлением памятью тоже иногда нужно танцевать не меньше, а иногда и больше, чем в отсутствии GC.
Мир Украине. Свободу России.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: Указатели мертвы?

Post by Мальчик-Одуванчик »

Указатель на указатели до сих пор остается однозначным тестом на профнепригодность.
User avatar
flip_flop
Уже с Приветом
Posts: 4379
Joined: 20 Jun 2001 09:01

Re: Указатели мертвы?

Post by flip_flop »

nightmare2 wrote:
flip_flop wrote:
perasperaadastra wrote: В С, конечно, без указателей не прожить, но разве доля С не уменьшилась в наши дни?
Нет. Два больших брата (C & Java) устойчиво доминируют многие годы http://www.tiobe.com/index.php/content/ ... index.html" onclick="window.open(this.href);return false;
Мне кажется этот индекс более точно показывает тенденцию.
http://pypl.github.io/PYPL.html
""Есть ложь, наглая ложь и статистика" [Disraeli]
Статистик много, вот ещё пару навскидку:
https://www.blackducksoftware.com/resou ... nguage-use" onclick="window.open(this.href);return false;
https://blog.newrelic.com/2015/07/07/po ... languages/" onclick="window.open(this.href);return false;
http://spectrum.ieee.org/computing/soft ... -languages" onclick="window.open(this.href);return false;

Можно делать любые выводы :)
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Указатели мертвы?

Post by Сабина »

Threads are hidden только для очень криворуких прикладных программистов. А вот frameworks таки далеко не все гавно. Начнём с Джавы :)))).
Меня всегда умиляли битвы типа C круче Джавы или Питон круче Джавы. Давайте что ли спорить лучше ли самолёт паровоза :)? Или кто круче - изобретатель топлива или изобретатель реактивного двигателя ?
Детство какое то ей богу. В кривых руках - все гавно, в нормальных - работает. А указатели ли это или треды или попап на вебсайте - дело десятое :)
https://www.youtube.com/watch?v=wOwblaKmyVw

Return to “Вопросы и новости IT”