Какоблегчитьжизньразработчику

и缺少缺少的IDE

TLDR:Помимодизайнаиреализации,вразработкеестьмного“текучки”,котораякапаетнепеенепеенепоене Хочетсяееавтоматизировать。

Видытекучки(примерно,онивсевзаимосвязаны)

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

Оптимизация – композицияабстракцийдаетмодельбизнес-логики,новсеравнокаждыйразнадооптимизироватьреализацию(занововыбиратьструктурыданных,алгоритмыит.д.)。 Переписываниеоднихитехжефичутомляетиприводиткрегрессииннымбагам。 Некоторыекомпиляторыирантаймыпробуютэторешать,нопокрываюттолькочастьжизненногоциклаиобычнотолькоодногокусочкараспределеннойсистемы。

Склейка,обертки – частовродебывсёуженаписано,анапрактикеначинается“ехалврапперчерезвраппер”,наконвертацииданныхтуда-сюдатеряетсяпроизводительностьит.д.

Раскопкибиблиотек – часто范围кодасоставляетмиллионыстрок,заизменениямивкоторыхсложноугнаться,особенноеслиэтоапдейтыв第三方библиотеках/сервисах,даидержатьвесьсвойкодвпамяти как -тостранно(1)

Аналитика —унасестьлогииметрики。 Ихнадоцентрализованноинтегрировать,чистить,коррелироватьскоммитами,чужимиизмененинояиит.。 Даи“магическийоптимизатор”,описанныйвыше,надочем-токормить。

Некрология —частныйслучайборьбысостареющимкодом,когдаунасвдругосталисьлишьбинарники,ил сервис,которыймыиспользовали—помер,итакдалее。

Наложениебагфиксов—图库视频影像быэточастьработысбизнес-логикойитребованиями? Вначаледа,以及ольныйкода—монотоннаятекучка。 Тожесамоеслучается,когдаапстримвдругнеможетилинехочетпринятьнашиизмененияипприхд

Трассировка —частныйслучайаналитики,расследованиепричининцидентов。 Тожесодержиткучуавтоматизируемойрутины,котораясильноупрощаетсяинтеграциейразныхчастей。

Каквыглядитрешение

РешениедавнопридуманоиназываетсяIDE。 НоIDE —понятиерастяжимое。

Чемплох“обычныйпорошок”

Нехватает范围 。 ТажеIDEAилиVSинтегрируетмногое,ноне“знает”нипротребования,нипробаги/уязвимости,нипроholder

Нехватаетинтеграции 。 Дваплагинаотразныхвендоровобычнодружатсхостом,ноникакнезнаютдругодруге,иподружитьихобычногораздосложнее,чемдописатьчто-тотретье。

Версионированиеограничиваетсякодом 。 Кактолькомыпытаемсясобратькакую-тодревнююбиблиотеку—набольизоопарктулчейнов。 NixOS上的Проектывродепривязкисуб-репозиториевпохэшукоммитапытать,

Разметкудлятрассировкиниктонеделает 。 Какидругиеформыдокументации。 Потомучтоотвлекатьсянанее(дажепростописатьIDбагавкоммите)лень。 Этиметаданныеможноинужнособиратьиагрегироватьавтоматически。

Знанияпроокружениевлучшемслучаехардкоднуты 。 Сэтимсейчассталолучше,многоIDEподдерживаютподключаемые部署目标,以及自动工具(IDE,нокнамблизко)делают功能。 Ноокружениекода—этонетолькокомпилятор。 部署,部署,部署,升级,部署(。 IDEсейчаснегде的Выразитьэто。

Какэтоможноулучшить

Еслиприсмотреться,токод—далеконеглавнаяценность/артефакт,хотьивыглядиттаковым。 Главнаяценность—安全的公告,安全性很强,它是Валенийпороник的。 Плюсметрикииотзывы。 Метрики—этоененезнание,носравниватьтеориюспрактикойбезнихнеполучается。

Вродебыэтовоёноиноитно

Еслипредставитьэтубазузнанийвявномвиде,товыходит,чтоIDE – этобазавычислимых(可计算的,机器可读)знаний,котораясовмещаетзнаниеопроекте,обвнешнеммиреотсервиса-поставщиказнаний(отнас),плюсразные 推理引擎 ,которыеработаютснейиподсказываютразработчику,чтоделать。 Исамиделают,еслинетусомненийвто,какойвариантподходящий。

Ближайшийпример—沃尔夫勒姆·乌兰德(Wolfram Cloud),在“всегоподряд”из-запривязкикMathematica中使用ноиспользоватьегодля。 Всяценность中层DCOSиразнообразныхAnsibleтоже,посути,заключаетсяв(неявном)кодированиизнанийотом,какавтоматизироватьдеплойианалитикувдатацентрах。

Apple是Microsoft的пытаютсядвигатьсявторонус编译器即服务ианалитикойвапсторах,

Почемуэтонесделалираньше

Cloud IDEпытаютсяделатьмногие。 Покабезуспешно。 Потомучтопомимоколлаборации,котораянормальносуществуетибезних,еслиразработчикисидятводнойкомнатеиумеютобщаться,ониприносятновыепроблемы。

害怕未知是害怕失去积累的已知知识

Даунтаймыидырки

IDE —对этокритическаяинфраструктура。 Оказатьсяотрезаннымотинфраструктурыниктонехочет。 Темболеепопастьвситуацию,когдаинфраструктураикодзахваченыпроходившиммимо脚本小子。

Тоесть,такойсервисдолженуметьработатьлокально(本地)。 Иподдерживатьтусамуюколлаборациюмеждукомандамивобходсервиса,когдаврежиме“максимальнойпаранойи”мыпродаёмапдейтыкодаибазызнаний,получаялишьминимальныебагрепортывответ。

Неотвратимыеапдейты

Еслинесчитатьтого,чтомыобсуждаеминструмент,которыйпомогаетснимибороться…унасвсёравнобудутбажныеапдейты,убизнесаповодыотложитьапгрейдит.д.
Поэтомудовольноважноуметьподдерживатьполный版本追踪длясамихсебя。 multiтосущественноусложняет多租户,нореальноидолжнобытьсделано。

Само-версионированиетакжедаётвозможностьделать“冻结” /“撤消”дляабсолютнолюбыхчастейсист。 Чтодаетневероятнуюсвободудляэкспериментирования。 请在Github中使用Разницапримернотогожепорядка,какмеждухранениемкода。

供应商锁ибизнес-модель

Когдапользовательможетполностьюотзеркалитьизаморозитьинфраструктуруиработатьтон Передумалииспользоватьсервис? Пожалуйста,вотвам(неотчуждаемое)правоиспользоватьвашезеркалоизамороженныйснапшотбазызнаний,покавысползаетенадругуюинфраструктуру,никакихдаунтаймов。

Конечно,этовозвращаетнаскпроблемепиратстваипрочего,ноеслинепытатьсявестипродаживКитае – торегулярныхапдейтовипрозрачногоценникадолжновполнехватить,благобезапдейтовценностьзеркаларезкопадает,приносимый值тожедовольнопрозрачен,аавтономныхпараноиковмалоис нимиобычноможнопообщатьсявживую。

Резюме

Этовсёвыглядитнеплохимстартапом。 Оноодновременно

—сложнокопируемо(API),则是датасетисолверыненадовыгружатьюзерам

– возможныхбизнес-моделейтуткакминимумтри(внутренний秘决продуктовой/консалтингкомпании,публичныйсервис,ивыходчерезпродажукакому-товендоруIDE)。

Самаидеябудоражитмнемозгужепорядка10лет,всмысле,первыйпрототипясделалв2006年:),авотощущение,чтознаний,силиопытахватитна可行продуктпришлотолькогде-тосейчас。

Раннийдрафтэтогодокумента(английский,страшненький,затоскучейссылок)тут—我们需要做些什么才能使开发人员的生产力又一次飞跃?

问答环节

Оновыглядиттак,какбудтодляэтогонужен强AI?
沃尔夫勒姆云(Wolfram Cloud)的Вперспективеда🙂Ноиначастныхслучаяхможноуехатьдовольнодалеко。

Какэтимпользоваться?
标记:
—“проблемаЭнгельбарта”(намассовомрынкепобеждаютнеэффективныепродукты,апростыевосвоении);
—可发现性интерфейсавцелом(“чтоямогусделатьвконкретныймомент?”)。
Ксчастью,сейчассновавмодудиалоговыеинтерфейсы(微信/ QQ距Jupyter),

Какхранить/представлятьданныевсистеме? Ктобудетстроитьонтологию?
Разнымиспособамиодновременно,пробоватьнанихразныесолверыодновременно,ранжироватьрезультат