LINUX.ORG.RU

Странное, движки СУБД

 , ,


1

1

Добрый день камрады. Недавно задумался о странном. Предположим - есть цель написать СУБД. И хочется чтобы она работала везде. В том числе на андроид. На чем такое писать? Pure C? C++? Java? Golang?

Ответ на: комментарий от symon2014

Отчего? Предположим такую задачу и встает вопрос на чем решать. Очевидный ответ - C/C++. Но у них есть очевидные минусы для современных разработчиков (управление зависимостями и сборками, ide, etc.). Отсюда и интерес - а в современных реалиях на чем реализовывали бы современный sqlite, скажем.

small-entropy
() автор топика
Ответ на: комментарий от small-entropy

sqlite

управление зависимостями и сборками,

Поинтересуйтесь на досуге, сколько у sqlite зависимостей и как оно собирается.

ide

Между прочим кресты IDE поддерживаются на высшем уровне. Лучше может только джава и С#, но они и проще значительно.

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

Теоретический вопрос, не из разряда практики. Интересно же понять - выходило много стеков, модных технологий. Упрощают они как-то решение сложных задач или нет?

small-entropy
() автор топика
Ответ на: комментарий от alex1101

Я брать ничего не собираюсь. Интересно в теории - есть команда из N хипсторов. На чем им было бы реально решить задачу. Так, чтобы они не отрастили свитер и не развернули подвороты

small-entropy
() автор топика
Ответ на: комментарий от alex1101

Внезапно, для современных разработчиков в большинстве своём нужны не CLI и vim/emacs, а пакетные менеджеры, графонистые ide по типу Pycharm, etc. Уровень сильно пробил дно за последние 5-7 лет

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

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

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

Ivan_qrt ★★★★★
()

цель написать СУБД

С таким ТЗ результат будет ХЗ. Начинать надо с определения функциональных и нефункциональных требований.

чтобы она работала везде

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

Размышления на тему, у С++ сложная система сборки, а хочется попроще - это от того, что ты на начальном этапе не определился с требованиями.

Не поленись, сядь, напиши табличку требования - язык, и заполни еë. Ставь +, если требование выполняется, - если не выполняется. Будет гораздо проще выбрать.

hippi90 ★★★★★
()

Ээ так, давай начнем с того что это сложно. Есть специальный курс, на котором преподают реализацию движков баз данных:

CS448 Designing and Implementing a Mini Relational DBMS

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

Ознакомься для заземления. Язык разработки тут дело вообще десятое.

alex0x08 ★★★
()
Ответ на: комментарий от small-entropy

есть команда из N хипсторов.

Сразу провал. Тот же sqlite написал одинокий PhD в свитере. И любой приличный софт так пишется на начальном этапе. Команда из хипсторов сможет эффективно только бухать и трахаться.

bread
()

У тебя XY проблема. Ты уже всё придумал, а теперь нас пытаешь, чтобы мы дали в точности тот же ответ, а все остальные отбрасываешь.

ox55ff ★★★★★
()