Как вы считаете, что будет с программированием в недалеком-далеком будущем?
Позволю себе написать подробный ответ:
Мне вот кажется, что у государств и монополистов уже чешутся руки, прибрать сей кусок пирога к своим столам.
Этого не будет. Программировать могут и пытаются многие, а количество профессионалов - строго соответствует потребностям отрасли.
- Попытка взять под контроль эту сферу со стороны государств. В том смысле, что будет как со спиртом, лицензирование и акцизы. Писать всякому постараются не позволить, а только …
Этого - точно не будет!
Высокая конкуренция в условиях постоянного повышение планки качества и функционала ПО - сама прекрасно фильтрует и выпинывает всех “левых”.
При этом сама попытка все лицензировать - абсурдна: с одной стороны, большинство современных ЭВМ (особенно планшетников) - ориентированны на потребителя, а не создателя. С другой - если человек все-таки интересуется созданием собственного продукта или иного авторского контента - у него всегда есть альтернатива в виде бесплатных сред разработки, бесплатных редакторов чего угодно. Качество и функционал свободного ПО - стремительно догоняет забабловое, а выбор уже давно - огромен.
То есть:
- Нет смысла привязывать и ограничивать программистов - их, конкуретных, и так мало;
- Нет возможность взять их за хобот через софт и лицензии.
- Подобный же контроль, но со стороны корпораций. К примеру выпуск компиляторов, которые не пойдут в массы, а будут пользоваться только ко…
А вот это - всегда было и есть! Только оно также имеет лишь условный успех. Свободное ПО и его постоянное развитие никогда не даст корпорациям отнять более половины рынка, при этом есть положительная обратная связь: чем сильнее Майкрософт и, скажем, Яблок будут пытаться гнуть область под себя - тем сильнее и больше будет пилиться свободного ПО - естественная реакция общества.
В любом случае, рынок куда-то уйдет и …
Никуда он не уйдет. Потребление лишь будет увеличиваться, будет расти число игроков, число потребителей. Будут меняться платформы и технологии, но ситуация в целом - меняться не будет.
PS: единственное, чего действительно стоит опасаться - постепенная тотаьная замена программирования ЭВМ - программированием виртуальных машин. Это уже происходит! Ява, дотнет, флэш, весь уеб - это не программирование компьютера, а программирование виртуальной фигни. И в этом скрыта большая опасность: во-первых это уменьшает контроль программиста над физической машиной (операционная система отдается на откуп корпорациям, которые в конечном итоге получают полный контроль за действиями пользователя), во вторых - вводит разделение между настоящими программистами и программистами всего остального. Лет через 20 можно прийти к тому, что типовой программист не будет знать, как победить систему, не будет знать даже о принципах ее работы.
Да ну, уровни абстракции были со времен доса - никто ж не программирует в машинных кодах. Тот же язык С формально является платформо-независимым, и вызов fopen сработает и на винде, и на маке, и на iOS. И программисту пофиг как оно “внизу” устроено, все равно нельзя объять необъятное.
Виртуальная машина является лишь следующим звеном уровня абстракции, только и всего. Да реально юзеру пофиг начем программа написана, лишь бы работало.
В дебри ядра и сейчас лезут единицы, ибо зачастую это не надо для решения задачи. Опять же следует разделять программирование для фана (тут можно хоть месяц в коде линукса колупаться, если прет), и для заказчика за деньги…
Никуда он не уйдет. Потребление лишь будет увеличиваться, будет расти число игроков, число потребителей. Будут меняться платформы и технологии, но ситуация в целом - меняться не будет.
PS: единственное, чего действительно стоит опасаться - постепенная тотаьная замена программирования ЭВМ - программированием виртуальных машин.
Это уже происходит!
Я совсем не понимаю, что значит: “замена программирования ЭВМ - программированием виртуальных машин”
Но ваш пост прочитал так: Все было, как будет, но может измениться и уже меняется.
Лет через 20 можно прийти к тому, что типовой программист не будет знать, как победить систему, не будет знать даже о принципах ее работы.
Так далеко даже баба Ванга не заглядывала.
Я уверен, что к 10 году бОльшая часть тех, кто сейчас называет себя программистом, останутся за бортом этого корабля.
Опыт не пропьешь 😃
Умея программировать на С, без проблем написал код и на PHP, когда надо было. Другой вопрос, что с возрастом рутина все менее интересна…
Да реально юзеру пофиг начем программа написана, лишь бы работало.
Абсолютно.
Я просто прослеживаю тенденцию: Раньше была куча програмных продуктов для учета в рознице и опте. Фолио, Парус, Аэрон, Дата-скан… Всех не упомню. Даже у меня в магазине была собственная программа, написанная мне под заказ.
Программист, что мне писал, сейчас работает на войну и на свободный рынок никак не хочет.
Еще пример: 10 лет назад справочник Товары и Цены на 80-90% состоял из предложений по продуктам. Сейчас их там практически НЕТ. Есть же меньше не стали, а вот компаний, снабжающих мелкие магазины стало две-три…
В 99 году я в маленьком магазинчике в день продавал два контейнера хлебопродуктов привезенных Щелковохлеб. Они меньше двух и не возили. А 5 лет назад только половину контейнера и они это уже возили!!! За 5 лет рынок переменился, поскольку рядом тогда никого нового не открылось.
Опыт не пропьешь
Лет 10 назад Дмитрий Пухальский, что писал мне программму брался написать в любой среде, только с учетом времени на ее освоение и ОПЛАТОЙ этого времени. Вот жук.😃
Тем не менее прога, им написанная отработала несколько лет без единой проблемы, в отличие от еженедельных багов у предыдущих писак.
Опять же следует разделять программирование для фана (тут можно хоть месяц в коде линукса колупаться, если прет), и для заказчика за деньги…
Именно это я и имею ввиду, когда считаю, что этот кусок пирога жмет зубы корпорациям и правительствам. У себя на кухне готовь хоть собачатину, а на продажу - нет.
ну, понаписали… )))
Один не видит разницы между средствами криптозащиты и всем остальным, другой виртуальные машины и платформы с интерпретируемыми кодами отличить не может друг от друга…
Молодцы, давайте дальше - валите всё в одну кучу и делайте далеко идущие выводы ))))
Один не видит разницы между средствами криптозащиты
Подожди, Андрей! Ты ведь совсем не разбираясь в выделке кожи можешь выбирать себе кожаные ботинки?
Речь же не об узком применении программирования, а о том, как оно может измениться.
Ты, вот лично сам, лет 15 назад о процессе программирования мог и ничего не знать, я сейчас знаешь. И никаких гарантий нет, что эти знания будут нужны через пять-десять лет.
Раньше шурупа на 6 мм хрен найти было, а сейчас на рынке глухарей любых валом. Их ведь не люди делают. Сам посуди, вот у меня в полке Асус 750 лежит. 5 лет назад - вершина творения, а сейчас даже гвоздь им не забить. Процесс идет по экспоненте и это видно даже обывателю.
Виртуальные машины и интерпретаторы - суть одно и тоже: это не код для процессора, это код для другой программы. Пользователю, безусловно, пофиг, как сделано ПО - но само такое ПО - анально-зависимо от виртуальной машины (или интерпретатора) и не имеет никаких прав на запускаемой платформе.
Это приводит к тому, что настоящий бинарник все в бОльшей мере отдается на откуп корпорациям, которые создают и распространяют операционные системы. В один прекрасный день может оказаться, что физический процессор машины будет вообще огорожен от программиста: пиши скрипты для интерпретаторов и байткоды для виртуальных машин, а сам процессор трогать не моги.
Чем это опасно, если кто-то вдруг не понимает? А тем, что ОСь получает полный контроль над машиной пользователя: начиная с уже повсеместной слежки (самое простое проявление - таргетированая реклама) и заканчивая возможностью хозяина операционной системы - по своему желанию блокировать любые функции устройства, любой контент устройства, или даже самого пользователя. С любой ЧУЖОЙ машины захотите в сеть - менее десятка посещенных вами сайтов позволяют идентифицировать вас.
Ысче раз
- Лицензирование работ по написанию программ по опредленным направлениям и видам алгоритмов уже есть.
- Лицензирование и ограничение на использование алгоримов, компиляторо и информации для внутреннего пользования (например производительность той или иной системы или программы) было всегда.
Это извините просто данность сегодняшнего дня и уже не первый день данность.
IMHO ребята сейчас в программировании середина-конец второй золотой лихорадки.
Отдельные золотоискатели (программисты) рыскают в поисках рынков, технологий, бизнес схем связаных с програмированием и сервисами на их основе (Облака - cloud computing, Программа Как сервис - Software as service, Web2.0 … ). Их ограничивать в поисках и получении бонуса за открытие никто особо не собирается. Эдакий поиск россыпей и самородков одиночками и мелкими группами. Эти решения можно строить на общественном и самописном софте на свой страх и риск и делать практически что угодно. Но зрелые решения для масс или стандартный сервис по обслуживанию крупных копраций, эдакая добыча золота из руды - это давно вотчина средних и крупных компаний. Другими словами вновь открытые перспективные месторождения у золотоискателей скупают и начинаю методично разрабатывать по промышленному циклу. Упрощая унифицируя стандартизируя.
Первая золотая лихорадка в програмировании была в надувании IT пузыерей. Вторая сечас в организациии и поиске сервисов для платежеспособной аудитори. Это если в массовм рынке. В корпоративном ве немного иначе и более зрело но это отделная тема. Както так.
ява, дотнет, флэш, весь уеб - это не программирование компьютера
Господи та божешь мой - А что такое Компьютер? А виртуальный компьютер это компьютер? А программа испольняемая в эмуляторе DOS это настоящая программа контролирующая железо? А Jаva машина реализванная в железе (есть такие) ограничивает Java програмиста в его использовании? А а древненький паскаль или FoxPro настоящий компьютер программируют или виртуальный, с учетом того что они компилируется P-коды в дальнешем интерпритируемые. А Forth машина на микроконтроллере она тоже в разряде - весь уеб - он ведь один большой сплошной интерпритатор.
Господи та божешь мой чего не узнаешь нового на старости лет.
- Нет смысла привязывать и ограничивать программистов - их, конкуретных, и так мало;
Вот чтобы “способные” не мешали их и огранчить лицензией. Смысл есть как раз шибко умным аппетиты то и по умерить. А то развелись в свое время в 90 ых умники типа Ланкрипто - алгоримы свои выдумывали пакеты предлагал, сервис . А вот вам по всей морде - хочешь заниматся криптографией получи лицензию. Нет лицензии - иди в стороне постой хлеб у “правильных” но не столь шибко умных контор не отнимай. Гос сектор не для тебя по определению и все кто с гос контроами тоже не по твой рот. Смысл есть хотя ой ой как неприличный но к сожалению есть.
- Нет возможность взять их за хобот через софт и лицензии.
Пока для себя под одеялом в копеечном масштабе то нет. А вот если на продажу или для официального применения в большой компании - ысче как за хобот берутся. Ими самыми лицензиями и софтом.
Вот захоти я официально утвердить багзилу или Jir-у в качестве внутренного корпаративного баг трекера - хрен что выйдет. Все зависнет на в сопроваждение поддержку, совместимость, лицензии и гарантии работоспособности.
Glassfish - он вроде как бесплатный - но если нужно поддержку и внешние гарантии работоспособности на достаточно высоком уровне welcome купить лицензию. Без лицензии Oracle поддержку не дает. А без поддержки на свой страх и риск в крупной компании хрен кто из менеджеров пойдет на установку и эксплуатацию критичного для работоспособности компании софта. Только из за отсутсвия официальтной поддержки мне предется не позже 2015 сменить или мигрировать сервера приложений несмотря на то что проблем с ними нет. Закончится официальная поддержка и пишите письма в пользу бедных или на WebLogic или на поддерживаемую версию.
Так что лицензии и свзанная с ними поддержка еще как влияют на выбор програмистом решений и платформы разработки.
Речь же не об узком применении программирования, а о том, как оно может измениться.
Ты, вот лично сам, лет 15 назад о процессе программирования мог и ничего не знать, я сейчас знаешь. И никаких гарантий нет, что эти знания будут нужны через пять-десять лет.
Лёш, программировать меня учили в 9-10-х классе мат. школы еще на ламповых ЭВМ. Тогда мне было 15 лет.
58 - 15 = получается 43 годика назад. А ты говоришь 15 )))
Но дело не в “годиках”, а в том, что до сих пор существуют некоторые базовые понятия, без которых программирование невозможно. Например, “цикл”, “условный переход” и “условное выполнение”, переменные разных типов, операции типа i=i+1, структуры данных, операции с очередями и стеками… Таких “базовых понятий” много, перечислить их здесь невозможно и нет смысла, тем более, что некоторые из них машинно/архитектурно зависимы. Причем, эти понятия существуют и используются вне зависимости от того, пишет человек в машинных кодах на ассемблерах или пользуется компиляторами с языков высокого уровня. Мало того, с очень высокой долей вероятности они будут использоваться всегда т.к. “цикл”, например, является важнейшей особенностью программы, позволяющей ей в отличие от человеческого мозга, быстро производить огромное количество повторяющихся операций с РАЗЛИЧНЫМИ наборами данных. Для этого, собственно, в первую очередь создавались и используются по сей день компьютеры - для быстрой массовой обработки больших объемов данных, такой обработки, которая просто не под силу человеческому мозгу.
Но если уж говорить о дальнейшем развитии программирования как такового, то функция массовой обработки данных от компьютеров никуда не денется. Компы для этого создавались и создаются, они позволяют человеку обрабатывать, упорядочивать и обобщать (!) огромные количества информации, которые без машинных средств раньше обработать было нельзя. Следовательно, никуда не денутся и циклы, переменные, выполнение кодов по условию и пр. и пр. Поэтому будут существовать и сами языки программирования - как вместилища для этих языковых примитивов обработки данных. Другой вопрос - какой внешний вид будут иметь эти примитивы? - Будем ли мы, например, по-прежнему выписывать строки символов, описывающих алгоритмы обработки или будем двигать в 3-х мерном виртуальном пространстве какие-нибудь функциональные объемы и складывать из них программы как из кубиков? - Думаю, что будет и то, и другое. Разные средства проектирования для разных классов задач.
Виртуальные машины и интерпретаторы - суть одно и тоже: это не код для процессора, это код для другой программы
Вы, видимо, не в курсе, что давным-давно существует аппаратная виртуализация при которой виртуальные гостевые машины работают ничуть не с меньшей производительностью, чем сам хост. И это принципиально (!) отличается от интерпретации кодов.
Средствами аппаратной виртуализации снабжены сегодня практически все производительные процессоры и от Интел, и от АМД.
Дальше на эту тему распространяться сейчас не буду. Просто поверьте на слово - у меня виртуальных машин очень много (десятки) и на них работают серьёзные серверы, кушающие прорву ресурсов.
это не код для процессора
Все в курсе что давным давно x86 команды для процессора не являются кодами испольняемми непосредственно процессором и его составляющими элементами (регистрами, АЛУ ). И в настоящий момент OP коды и не боле чем данные для микропрограмм процессора. А поступающие на кристалл команды рекомбинируются объеденяются тасуются, виртуализируются по физически используемым регистрам, из них составляют векторы команд и только потом тщательно перемолотые поступают на физические блоки RISC процессора сидящего “внутри обычного процесссора”.
А тем, что ОСь получает полный контр
Ось со времен 386 компьютеров имеет ПОЛНЫЙ контроль над машиной пользователя. Хотбы потому что начиная с этой архитектуры имеет возможность жить в нулевом кольце физической защиты, а клиентский код у всех OS живет в третьем в терминах x386. При этом практически ЛЮБАЯ команда поступившая на процессор может быть перехвачена OS и исполненна так как нравится ей, а не так как надеется програмист пишуший даже не на ассемблере, а в OP кодах процессора. Даже тривиальная команда чтения/записи содержимого памяти по адресу XXX уже поступив в процессор за счет его предваритеьной настроки OS вызовет исключение перехватываемое OS что в итоге позволет вернуть оттуда/записать туда то считает нужным OS, а не содержимое микросхем памяти по адресу XXX. Ну вот хоть помри но эта возможность для OS уже на уровне железа процессора зашита и обойти правила нулевого уровня из кода в третьем ну никак.
Так что позняк метатся о том что работу интерпритатора может перехватить OS. OS давно уже может перехватить практически все что ей хочется.
В один прекрасный день может оказаться, что физический процессор машины будет вообще огорожен от программиста: пиши скрипты для интерпретаторов и байткоды для виртуальных машин, а сам процессор трогать не моги.
Чем это опасно, если кто-то вдруг не понимает? А тем, что ОСь получает полный контроль над машиной пользователя
Да господь с Вами - почти все это есть уже начиная с 80386 процессора 😃
Попробуйте например в порт напрямую записать, вроде уже с 98й винды это невозможно…
Виртуальные машины и интерпретаторы - суть одно и тоже: это не код для процессора, это код для другой программы. Пользователю, безусловно, пофиг, как сделано ПО - но само такое ПО - анально-зависимо от виртуальной машины (или интерпретатора) и не имеет никаких прав на запускаемой платформе.
И это хорошо - пользователю меньше шансов запустить вирус или троян. А зачем программе лишние права? Что надо, прописано в конфиге, что не надо, нефиг.
Чем хорош например iPad - его невозможно порушить, можно на любой порно сайт заходить без опаски 😁
А почему нас вообще должен волновать вопрос с лицензированием программистов? Вот Форд допустим ставит на свои автомобили лампочки произведенные только “лицензированными” производителями, или, ближе к теме, программы в бортовом компьютере тоже написаны “лицензированными” программистами и это никого не беспокоит.
Что касается государства, то многие деятельности лицензируются и в этом нет ничего плохого: например чтобы производить электрические работы в доме нужна лицензия (подозреваю что Karalexey делал свой занавес в школе незаконно!😁)
Некоторые производители чипов никогда не открывали документацию на них кому попало, т.е. писать программы для них могли только “лицензированные” программисты.
И потом, надо отличать личную свободу и свободу предпринимательства с одной стороны и защиту прав потребителя с другой. (В отношении того что говорил CrazyElk: “нелицензированный” программист может такую инкрипцию сделать что банк быстро останется без штанов!)
А почему нас вообще должен волновать вопрос с лицензированием программистов?
А если вас не волнует и не интересно можете не только не писать, можете даже и не читать.😈
например чтобы производить электрические работы в доме нужна лицензия
Откуда такая информация про лицензию? Поделитесь источником. Или это там, где “гинекологов одних как собак нерезаных”?
(подозреваю что Karalexey делал свой занавес в школе незаконно!)
Все авторские права соблюдены. 😃
Так что лицензии и свзанная с ними поддержка еще как влияют на выбор програмистом решений и платформы разработки.
Так и я о том же. Только мне видится, что это будет ужесточаться со всех сторон. Но видится, не значит, что я в этом уверен. Это лишь рассуждения, как если бы ОБС.
Правилами не запрещено…
Мне писали софт потому, что я очень привередливый, и я очень опасался, что будут глюки. Просто на тот момент рынок не имел в продаже того, что хотел я . Кстати и под мои теперешние запросы на рынке нет программ. Наверное тоже придется заказываться. Но у другого побоюсь просто.
А то, что крупные компании не пользуются, или стараются не пользоваться не проверенным софтом, так это ни для кого не новость.
Тем более, что при написании непроверенным человеком неизвестна дальнейшая судьбы моих решений и предложений. А так есть некий гандикап в пользовании.
Лёш, программировать меня учили в 9-10-х классе мат. школы еще на ламповых ЭВМ. Тогда мне было 15 лет. 58 - 15 = получается 43 годика назад. А ты говоришь 15 )))
Андрей, я “к примеру” сказал, ничего не утверждал.
Мне писали софт потому, что я очень привередливый, и я очень опасался, что будут глюки. Просто на тот момент рынок не имел в продаже того, что хотел я . Кстати и под мои теперешние запросы на рынке нет программ. Наверное тоже придется заказываться.
у меня был период в жизни, когда я очень плотно несколько лет подряд занимался складскими, торговыми и бухгалтерскими системами. В частности, и платформой 1С - разрабатывал/дорабатывал для нее конфигурации. Наваял на 7-й платформе не один десяток тысяч строк кода, даже сделал свою собственную систему “Безопасная Торговля”. Поэтому хочу сказать, что лучше всего в качестве платформы выбрать 1С - взять какую-нибудь современную Типовую Конфигурацию, наиболее подходящую по функционалу, и попросить кого-нибудь доработать её до нужной кондиции в соотв. с твоими требованиями. Это всяко лучше, универсальнее, быстрее и НАДЁЖНЕЕ, чем писать всё “с нуля”.
К тому же, в силу “природных особенностей” интерпретации (а не компиляции), конфигурации 1С всегда являются системами с “открытым кодом”. Это большой Плюс.
(свои услуги не предлагаю - слишком давно не в теме)
Кстати и под мои теперешние запросы на рынке нет программ. Наверное тоже придется заказываться. Но у другого побоюсь просто.
Ни один программист не даст гарантию 10 лет на софт 😃 Обычно на тестирование выделяется некоторое время. А дальше, дай бог если есть исходники, можно поправить что-то, если нет, увы. А за 10 лет может смениться что угодно, от поколения ОСей до места жительства и работы программиста.
Крупные компании будут пользоваться официальным софтом, т.к. им нужна во-первых, гарантированная поддержка, во-вторых, пакет документов на случай возможных проверок. Самописный софт от “друга Васи” таким требованиям не удовлетворяет 😃 Ну и в третьих, действительно крупный софт одному человеку просто не написать.
…виртуальных машин очень много (десятки) и на них работают серьёзные серверы, кушающие прорву ресурсов.
Я не о производительности…
Леший с ней, моща постоянно растет, а ресурсоемких задач в реальной жизни уже нет (грубо говоря, в % отношении среди всей массы пользователей - практически никто не занимается численными методами).
Все в курсе что давным давно x86 команды для процессора не являются кодами испольняемми непосредственно процессором и его составляющими элементами (регистрами, АЛУ ). И в настоящий момент OP коды и не боле чем данные для микропрограмм процессора. А поступающие на кристалл команды рекомбинируются объеденяются тасуются, виртуализируются по физически используемым регистрам, из них составляют векторы команд и только потом тщательно перемолотые поступают на физические блоки RISC процессора сидящего "внутри обычного про…
Есть разница. Одно дело, когда это сделано на уровне железа, на очень низком уровне. И немного другое - когда между этим, условно назовем, центральным процессором и приложением - еще постоянно развивающаяся ОСь всунута: более умная, гибкая, конфигурируемая из вне без уведомления пользователя. По сути все это уже наблюдается на примере яблочных гаджетов: когда пользователь фактически не имеет никаких прав на своем устройстве, все права ему условно делегируются через специальные централизованные сервисы. Аднроидные девайсы по умолчанию тоже самое норовят, хотя может в менее агрессивной форме.
Согласен лишь насчет ограничения распространяемости вирусов, хотя и тут куча запятых! Постоянно вылезают разные эксплойты то в яве, то во флэше, то в яваскипте внутри очередного обновленного бравузера.
А если вас не волнует и не интересно можете не только не писать, можете даже и не читать.
А вдруг я чего-то важного не знаю и мне на самом деле нужно волноваться!😈
(Про лицензии гинекологов ничего сказать не могу)
А вдруг я чего-то важного не знаю и мне на самом деле нужно волноваться!
мы все умрём!
мы все умрём!
Нет, ну я так глобально не думал, я все же придерживался темы - про программистов. В крайнем случае про гинекологов…😁
А вдруг я чего-то важного не знаю и мне на самом деле нужно волноваться! (Про лицензии гинекологов ничего сказать не могу)
Вы далеко не одиноки в том, что не знаете чего-то важного. Стоит ли волноваться? Вам решать.
Про гинекологов сказал В. С. Высоцкий.
Он имел ввиду страну, где “на четверть бывший наш народ.”
Ну поскольку у вас в профиле Земля Обетованная, а я к несчастью имею счастье жить на Земле Приключений, то уведомлю вас, что в России около 6 лет назад отменили строительные лицензии. А уж про лицензии на установку розетки в доме и говорить не приходится.
И еще вам расскажу, что собственно меня и многих других не устраивает, это то, что практически любые работы, изменяющие жизнь к лучшему делаются с нарушениями и ВОПРЕКИ.
В классе кулер с водой - нельзя, шторы в зал - нельзя, микрофон купить - деньги собирать нельзя, копировальный аппарат в классе - нельзя, после уроков репитировать - нельзя, довезти детей на спектакль поближе к ДК, как артистов в дождь - нельзя…
Низя… низя… низя… ЗЯ! ЗЯ! ЗЯ! (с)
Нет, ну я так глобально не думал, я все же придерживался темы - про программистов.
Кстати они тоже умрут.
А вот по теме уже пошли изменения:
Немецкая ИТ-компания возьмет на работу более 600 аутистов