LINUX.ORG.RU

Как у вас, программистов, зарождаются проекты?

 , ,


0

3

Все, что меня интересует это какие идеи вами двигают, автоматические считалки или основательные программные продукты такие как Microsoft office.

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



Последнее исправление: Dimez (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

но… нифига! для ублажения своего эстетического вкуса это можно сделать. но остальной веб, с миллионами жутких генераторов флуда в сети, это никак не изменит.

Согласен, но это никак не является тем путём, который для меня приемлем.
Каждый человек ценен, но многие из них выбирают путь угождения своему Я, а не служения другим.
Понятно, что никакой благодарности от людей ждать не стоит, так как мир весьма духовно болен и развращён.
Многие и не понимаю даже этого и думают, что если у них: красивая жена, машина, …, куча денег, …, то они счастливо прожили жизнь.
Это враньё, которое произрастает от того, что многие из людей духовные калеки и просто не понимают этого.
Это вопросы духовности людей, которые нет смысла обсуждать на этом форуме.

anonymous
()

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

значит ты в основном что-то там считаешь и соотв.автоматизируешь то что делаешь.

разводил-бы поросят - пришли бы идеи по автооткорму :-)

чем занимаешься по работе или хобби, про то идеи и приходят.

MKuznetsov ★★★★★
()

В первую очередь если чего-то нехватает мне, либо важно для других.
Проекты не особо масштабные, но сложные, кто-то бы сказал что невозможные.
Идеи зарождаются когда и где попало. Часто, это чужие идеи, но улучшеные.

anonymous
()
Ответ на: комментарий от slackwarrior

IPX кто-то помнит?

Как локальная сеть предприятия долгое долгое время работала.

И всё это в сочетании с Novell netware.

Psilocybe ★★★★★
()
Последнее исправление: Psilocybe (всего исправлений: 1)

Для меня важен процесс. Например недавно потратил несколько дней на написание программы, которая при старте делает exit (3 машинных инструкции). Был очень доволен.

Когда нужно писать программу для какой-то цели, это у меня удовольствия не вызывает. Это рутина, работа.

Я люблю писать программы, когда цели, как таковой, нет. Или она есть чисто в теории, но очевидно, что я её не достигну. К примеру у меня в планах написать программу, которая загружает данные в S3. Программа должна быть написана на C без зависимостей (включая libc). Это значит, что в ней должны быть реализованы: асинхронный ввод-вывод (для многопоточной загрузки больших объектов), криптографические алгоритмы и TLS протокол, HTTP протокол. В принципе объём тут на год работы и очевидно, что я это никогда не сделаю, запала у меня не хватит, но это не важно, важно получаемое удовольствие даже только от обдумывания и планирования такой задачи.

vbr ★★★★★
()
Ответ на: комментарий от vbr

Программа должна быть написана на C без зависимостей (включая libc).

Немного о разработке.

У меня своё core, которое не имеет зависимостей к стороннему API и в добавок кроссплатформенно:

  • динамическое управление объектами в run-time (в памяти и мета файлах);
  • динамическое управление переменными в run-time;
  • API, позволяющее использовать: деревья, списки, память, таблицы, строки, …

Расскажу немного о таблицах.
Строки таблиц могут содержать данные любых базовых типов и объекты.
При этом возможно в колонках строк можно использовать разного типа данные (например в первой строке первый элемент строка, а в следующей объект).
Возможно создание произвольного количества индексов для таблиц.
Таблицы также могут быть сохранены в мета файлах (любой сложности и иерархии).
Конечно работа с таблицами реализована весьма эффективно.
Например доли секунды требуются для создание таблицы, содержащей например миллион натуральных чисел, получения их суммы и удаления элементов в трёх циклах.
Конечно не панацея, но «Представляете как в таких условиях легко было работать?» (как говорил «папа» в фильме «Джентельмены удачи»).

А вот теперь спрошу вас.
В ныне разрабатываемых стандартах С++ такие возможности есть?
Сам и отвечу.
И близко нет.

И акцентирую то, что компиляторы при этом не при деле.
Стоят в сторонке, хмурятся и нервно кусают губы.

anonymous
()
Ответ на: комментарий от anonymous

Пошучу о нынешних стандартах.

«Из C++ хотят сделать Python».
Цель вообщем-то интересная и возможно даже полезная, но зачем при этом усложнять синтаксис компилятора?
С виду всё выглядит «правильно» и якобы по другому никак.
Хотя конечно кое-какую функциональность в компиляторы и линкер следует добавить (но похоже этого никогда не будет).

anonymous
()

Для начала, это может быть исполнительная дисфункция, от которой могут даже что-то прописать (если не в бывшем СССР).

По сути - у меня первый свой проект, похожий на что-то, получился, когда:

  1. минимизировал препятствия для силы воли - разрешил себе делать плохо, начал делать как удобно себе в одном сцк файле на скриптовом языке, забил на соблюдение всяких существующих принятых форматов и красоты, забыл про применимость для реального мира и тому такое всякое,

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

Т.е. начал с наглядного не думая вперед - с самого начала это была попытка написать свою реализацию Kademlia с гуем, чтобы видеть состояния. Потом на ней сделал поиск объектов - контактов, групп, сообщений. Потом поиск отдельных сообщений убрал, ибо достаточно найти группу и контакты и синхронизировать что у них есть.

Посмотреть не дам, это очень неаккуратная вещь, подражающая почтовому клиенту.

lealxe
()
Ответ на: комментарий от anonymous

динамическое управление переменными в run-time;

Это очень плохо. Переменные должны быть статическими. Человечество не зря 50 лет шло к статической типизации.

API, позволяющее использовать: деревья, списки, память, таблицы, строки, …

Это есть в любом языке, включая C и Basic. Более того, львиная доля из этих структур данных на практике не пригождается. Нужны массивы и словари. Или даже гомогенная структура (ведь массив по сути такой же словарь).

Расскажу немного о таблицах.

Нужна поддержка SQL для запросов по таким таблицам. Причём интегрированного в языке в типизированном виде. Можно посмотреть, как это сделано в PL/SQL.

Строки таблиц могут содержать данные любых базовых типов и объекты.

Это очень плохо. Объекты поддерживать нельзя. Это лишнее. Таблица суть реляция, отношение. К объектам это не имеет отношения. Должны быть только данные базовых типов. Да и в целом ООП показало себя плохим подходом, от объектов лучше держаться подальше, включая терминологию.

При этом возможно в колонках строк можно использовать разного типа данные (например в первой строке первый элемент строка, а в следующей объект).

Это очень плохо. Должна быть строгая типизация.

Например доли секунды требуются для создание таблицы, содержащей например миллион натуральных чисел, получения их суммы и удаления элементов в трёх циклах.

Это очень долго. Например на Java такая операция выполняется за 2-3 миллисекунды. А ведь Java это не самый быстрый язык. Нужно оптимизировать скорость.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 2)
Ответ на: комментарий от vbr

Это очень плохо. Должна быть строгая типизация.

Вам бы на какой-нибудь форум 1С зайти и сказать - «Ребята должна быть лишь строгая типизация и ни какой иной».
Мир алгоритмов весьма велик …

anonymous
()
Ответ на: комментарий от anonymous

Это очень плохо. Должна быть строгая типизация.

Вам бы на какой-нибудь форум 1С зайти и сказать - «Ребята должна быть лишь строгая типизация и ни какой иной».

На мой взгляд до этой мысли доходит любой программист. Не раз видел, как те же программисты, выросшие на javascript, причём не просто выросшие, а поучаствовавшие в относительно нетривиальном проекте, потом участвуют в проекте с typescript и их мировоззрение прямо меняется. Когда они видят, сколько багов TypeScript ловит прямо в редакторе. Когда они осознают, что вот эту опечатку они бы ловили ещё час, а может быть и закоммитили бы с ней (особенно этим грешат ветки с обработкой ошибок, которые никто никогда не тестирует).

Динамическая типизация хороша ровно для одного - по-быстрому сделать реализацию ЯП. Это может быть приемлемо для каких-то встраиваемых в проект языков, на которых никто не будет писать никаких больших программ. Т.н. языки сценариев. Хотя, как показывает практика, усидчивые люди и на bash могут писать огромные программы… Но лучше так не делать.

Причём я даже считаю, что bash стоило бы заменить статически типизированным языком программирования. Правда у меня не хватает таланта спроектировать такой язык (я пытался). Но чувствую, что можно. И это дало бы много преимуществ. К примеру автоматические системы автодополнения, без написания огромных скриптов для каждой программы (пришлось бы писать аналог статических биндингов для каждой программы, конечно, но это другое).

vbr ★★★★★
()

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

К примеру моё хоби по генеалогии, переросло в небольшой проект.

Licwin ★★★★★
()
Ответ на: комментарий от vbr

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

Прочитайте внимательно, то что в моём посте сказано.
Приведу copy/paste из него

И акцентирую то, что компиляторы при этом не при деле.
Стоят в сторонке, хмурятся и нервно кусают губы.

Можно динамически в run-time создавать объекты о которых компилятор ничего не знает и эффективно их использовать.
Это API можно использовать в любом ЯП.
Кроме этого поддержана возможность сохранения объектов в файлах (мета файлы) и использовать.
Например можете программно создать некоторое хранилище данных и сохранить в файле.
Это предоставит возможность использовать его в любых ЯП.

Core хранилища данных ныне разрабатываю.
В нём будет много полезных фич, которые упрощают разработку многих проектов.
Хранилище данных возможно использовать для разных потребностей:

  • некая СУБД;
  • хранилище каких-либо рессурсов;

Затем первым делом разработаю локаль и произведу рефакторинг API.
Хранилища могут содержать множество объектов любой сложности и иерархии.

anonymous
()
Ответ на: комментарий от vbr

На мой взгляд до этой мысли доходит любой программист.

Контрпримеры: Smalltalk, Erlang. Позднее связывание позволяет менять систему на лету, что полезно по крайней мере для прототипирования.

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

quantum-troll ★★★★★
()
Ответ на: комментарий от quantum-troll

Контрпримеры: Smalltalk, Erlang

Это вообще не промышленные языки, они ничему контрпримером быть не могут. Из контрпримеров разве что можно называть самый популярный в мире Python, но я верю, что это просто какая-то всемирная глупость.

Позднее связывание позволяет менять систему на лету, что полезно по крайней мере для прототипирования.

JVM позволяет менять систему на лету, не жертвуя типобезопасностью.

vbr ★★★★★
()
Ответ на: комментарий от anonymous

Приведу пример того как это API ускоряет разработку.

Сегодня на habr опубликовали статью
https://habr.com/ru/articles/949036/ Почему памятники надо ставить тем, кто автоматизирует MS Word

Как у меня?

Даю на вход некоему алгоритму сначала како-то количество файлов типа xslx.
API анализирует их, сопостовляет архитектуру каждого из xlsx и формирует метаданные, которые позволят в память загрузить любой из
проанализированных xslx.
Затем программист может использовать всего лишь одну функцию для загрузки любого xlsx и работать с ним.
Вышеописанные действия пробовал использовать для анализа doc документов, генератора отчётов FastReport, ,,,
Всё корректно функционирует.

Видите ли, те доводы, которые вы приводили в чём-то и правильные, но мир алгоритмов и задач весьма велик и это API позволит не разрабатывать
на каждый чих мегатонны кода для использования каких-то форматов данных.

Безусловно далее core расширю возможностью хранить и использовать знания.
Это будет конечно не ИИ, но как говорится «были бы кости, а мясо нарастёт».

ИМХО вы сами себя ограничиваете лишь какими-то методами разработки, которые для вас «всё и вся».
Зря!
Мир алгоритмов и задач весьма велик.

anonymous
()
Ответ на: комментарий от vbr

Статическая типизация даёт стабильность и безопасность, динамическая — необычные и легковесные способы решения задач. Иногда их получается совмещать, как это делает Go с интерфейсами или C++ с шаблонами.

Статическая типизация либо невыразительна, либо слишком переусложнена (привет Haskell). И она не всесильна. Ей поклоняются как индийскому богу, в то время как такие языки как питон продемонстрировали, что корректность может быть проще достигнута через тестирование.

kaldeon
()
Ответ на: комментарий от kaldeon

плюсовые шаблоны - это не динамическая типизация. там есть RTTI, есть явное приведение типов, есть void указатели, как в C, но типизация в плюсах статическая, как и в сишечке.

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от vbr

Erlang - «промышленный». его Ericsson создавал для телекома и он там активно используется. правда, корявый он до жути.

тащемта, кроме телекома его практически нигде и нет.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 3)
Ответ на: комментарий от vbr

забавно что сторонник статической типизации

требует таковой тока от доменов над данными но полностью приемлет отсутсвие типизации(что статической что динамической) над кодом - хотя бы на уровне соблюдения не только фактического заголовка но и текстуальной приводимости

мдя

qulinxao3 ★☆
()
Ответ на: комментарий от kaldeon

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

Т.е. я не против того, чтобы можно было писать код вида

var x: any = parseJson(input);
print(x.name);

Который будет идентичен коду вида

var x: Map<String, Object> = parseJson(input);
print(x.get("name"));

Кажется в C# есть немного похожая фича с ключевым словом dynamic.

vbr ★★★★★
()
Ответ на: комментарий от Iron_Bug

Erlang - «промышленный». его Ericsson создавал для телекома и он там активно используется. правда, корявый он до жути.

Я в курсе его истории. Но сегодня это мёртвый язык, как и Smalltalk. Его пытались оживить, заменив Erlang на другой язык (Elixir), но пациент скорее мёртв, чем жив.

тащемта, кроме телекома его практически нигде и нет.

Да и в телекоме его нет. Телеком стал просто сетевым провайдером, ничего там соединять больше не надо, под капотом обычные IP-сети, которые обрабатываются на всяких железных роутерах. Когда-то и амазон на лиспе был написан, много чего забавного было раньше, сейчас всё куда скучней.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 1)
Ответ на: комментарий от qulinxao3

требует таковой тока от доменов над данными но полностью приемлет отсутсвие типизации(что статической что динамической) над кодом - хотя бы на уровне соблюдения не только фактического заголовка но и текстуальной приводимости

Я ничего не понял.

vbr ★★★★★
()
Ответ на: комментарий от vbr

живее всех живых. в телекоме его полно и на нём активно пишут софт. просто он как DSL для телекома и только там и используется. а так, когда я работала на ОПСОСа там даже курсы Erlang'а предлагали всем желающим. есть целая индустрия курсов, сертификации и вот этого всего.

у тебя совершенно неправильные представления о телекоме. не надо гнать пургу.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Не в курсе о телекоме …

Попробовал в yandex произвести поиск «телекоме какой ЯП использует»

Вот ответ

C++ — основной язык разработки в телекоме, но также используются Go и Python. 
habr.com
В зависимости от задачи и компонента системы в телекоме применяют разные языки программирования:
Модуль управления мобильными устройствами. Используют C++.
Модуль управления базовой станцией. Для этого компонента применяют C++ и Go.
Ядро сети. Для работы с ядром сети, которое базируется на облачных технологиях, используют C++.
Система управления сетью и бизнес-поддержка системы. Для этих целей применяют JavaScript, Python, Go.
anonymous
()
Ответ на: комментарий от anonymous

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

а на Эрланге до сих пор пишут монстры телекомовского оборудования вроде Ericsson и Siemens, так что наши местные ОПСОСы готовят специалистов, чтобы поддерживать и развивать софт, который поставляется с оборудованием. на их оборудовании работает весь наш телеком.

при этом у меня нет ни малейших симпатий к Эрлангу. я в своё время посмотрела на него и отказалась от бесплатных курсов от работодателя. он был настолько корявым, что ну его нафиг. но факт остаётся фактом: Эрланг вполне жив, активно используется и будет использоваться ещё долго.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 4)
Ответ на: комментарий от anonymous

Попробовал задать вопрос «yandex не ахти правда ли это?»

Ответ

Нельзя однозначно сказать, правда ли утверждение «Яндекс не ахти». Мнения о работе сервисов Яндекса могут быть разными.
В некоторых отзывах пользователи высказывают негативные впечатления от работы сервисов Яндекса. Например, в 2023 году на сайте DTF обсуждали проблемы с качеством работы мобильных приложений Яндекса, служб поддержки и правил оказания услуг. 
dtf.ru
otzovik.com
С другой стороны, есть и положительные отзывы. Например, пользователи отмечают сервис Яндекс Картинки, который, по их мнению, не имеет аналогов. 
otvet.mail.ru
Таким образом, мнение о работе Яндекса и его сервисах зависит от личного опыта и восприятия пользователя.
anonymous
()
Ответ на: комментарий от anonymous

Попробовал задать вопрос «yandex не ахти правда ли это?»

Вообще-то yandex поиск мне нравится.
Yandex прекрасно осведомлён о Русских ресурсах и его ответы много лучше иных поисковых систем.
Да и по вопросам разработки даёт хорошие ссылки …

anonymous
()
Ответ на: комментарий от Iron_Bug

Мадам, вы, наверное, работали в «телекомах», когда Go еще не «всплыл»? а была мода на «Java» и «Erlang»? Увы и ах, но всякие там «ынтырпрайные архитекторы» и другая околошваль, определяющая на чем будем писать, сильно падки на моду.

Так то по мне, в телекомах должен быть C/С++ и Rust, по основной деятельности. Бухгалтерию и другую обслугу не берем в расчет - там может и Java даже присутствовать.

anonymous
()
Ответ на: комментарий от anonymous

Согласен, но это никак не является тем путём, который для меня приемлем.

Да просто.
«В этом болотистом низменном крае» работы ВАЛОМ.
Нерешённых проблем полно.
Их нужно решать.
На этом поприще не столько гениальным нужно быть, а просто не лениться.

Мне ближе вопросы, касающиеся разработки технологий, которые упростят разработку проектов.

anonymous
()

«глобальные идеи» - это финансирование на миллионы долларов, готовые коллективы и корпоративная среда. короче - мерседес-бенц.

а считалки, это когда из палок сколачивают тележки на подшипниках, кататься по крутому асфальту, разгоняя кошек страшным грохотом и глотая пыль.

alysnix ★★★
()
Ответ на: комментарий от anonymous

Многие и не понимаю даже этого и думают, что если у них: красивая жена, машина, …, куча денег, …, то они счастливо прожили жизнь.

Во имя справедливости:

Любимая жена (красота, как известно, в глазах смотрящего) является очень весомым фактором счастья.

Деньги, разумеется, фактором счастья не являются. Но могут существенно помочь в достижении. К примеру, если человек любит путешествовать, любоваться природными красотами и творениями рук человека в разных концах мира, то куча денег может… скажем так, сильно облегчить этот процесс.

которые нет смысла обсуждать на этом форуме.

Ну вы же начали. :)

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Ну вы же начали. :)

Тот пост акцентировал более то, что частенько программисты ищут
не пути разработки, а отмазки почему её невозможно произвести.

Пошучу

А в гареме не одна жена, а сто «любимых» …

Люди часто отождествляют «счастье» с возможностью полелеять своё Я.

anonymous
()
Ответ на: комментарий от anonymous

Михаил, ведь много талантливых программистов, но ленятся.
Вот в чём беда.
Честно говоря и я среди таковых бываю и весьма за это стыдно.

anonymous
()