LINUX.ORG.RU

Посоветуйте — что бы такое переписать с С++ на Go?

 , ,


0

2

Друзья, добрый день! Занимаюсь изучением программирования и хочу выстроить процесс таким образом, чтобы двигаться сразу по трём направлениям:

  • Linux в целом
  • язык С/С++
  • язык Go

(каждая из тем безразмерна, очевидно)

Третий пункт актуален, так как (при всём уважении к отцам-основателям) эпоха С++ по-тихоньку заканчивается.

Итак, собственно вопрос: что может доброволец типа меня переписать с С++ на Go? Какая софтинка принесёт пользу сообществу? Что имеет смысл переписать на Go?

Ориентировочный объём – тыщща строк.

Если данная затея после «первого блина» найдёт одобрение среди сообщества, то планирую продолжить в том же духе :-)

Прошу не судить строго. Спасибо.



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

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

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

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

я, кстати, придумал чего на go нету: библиотеки для работы с H.323

xperious ★★
()

Перепиши утилиту ls из coreutils(или как там его правильно) и научи её выводить свои данные таблицей, столбцы которой задаются опцией форматирования.

За образец можешь взять утилиту ps.

И будет это Go, Rust или ещё какой язык мне не принципиально.

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

Чтобы ты сложность задачи…

Посмотрел ваши наброски. Объём проделанной работы вызывает уважение.

cobweb
() автор топика

переписать с С++ на Go

(ради повышения производительности)

Кстати, отличный челлендж для опытных гоферов.

Crocodoom ★★★★★
()

Не знаю насчёт переписать, но запили конвертер из asn.1 в любой текстовой формат (json/yaml/xml) и обратно. Или просто сделай редактор asn.1.

Под винду чето было, в линуксе туговато.

Конвертер как раз примерно строк на тыщу и выйдет.

sergej ★★★★★
()

Чё нить в таком духе? Только распределение лэйтенси потом не забудь сравнить да и медианы.

Вот на rust верю что можно переписать и может даже пошустрее будет, а на go - ну х3. Так что бы по шустрее и короче, точно кажется не особо вероятным.

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

столбцы которой задаются опцией форматирования

юниксвейно было бы написать утилиту которая читайт стрим с ls и форматирует его

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

Ты в последнее время необычно агрессивен.

Не думаю. У меня вообще комментариев довольно мало, а чего-то, что можно посчитать «агрессивным», и того меньше.

xaizek ★★★★★
()

хелло ворлд

anonymous
()

по-тихоньку

Как ты так сумел?

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

А так… Писать очередной аудио-плеер или текстовый редактор – кому от этого радость?

Ты готов свое поделие поддерживать и развивать хотя бы лет 10? Или после курсача/диплома забудешь о нем? Ну так какая разница что ты там напишешь? Хочешь потренироваться? Возьми любой список programming challenges и выполняй:

https://camo.githubusercontent.com/f86232d9b7dbfd3860e3d634c782d742d085bdcb/68747470733a2f2f696d6775722e636f6d2f4f5136423669722e706e67

Im_not_a_robot ★★★★★
()

Занимаюсь изучением программирования

так как (при всём уважении к отцам-основателям) эпоха С++ по-тихоньку заканчивается.

Ну ок, держите нас в курсе :)

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

может имеется ввиду скорость разработки на Го?

скорость работы программы то с каких предпосылок на Го будет быстрее ? (см например бенчаркгеймс - хотя этот ресурс в последее время подвержен некоторым лобби-настроениям, но +- пока ещё честные показатели в нём)

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

На го ничего кроме примитивных консольных утилит и микросервисов не пишут. Без gc не умеет, gui не умеет, серьёзные сервисы пишут на java, а не этом бейсике. А вот сам go на нём же переписать полезно - снизит переносимость, и, надеюсь, популярность.

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

А, впрочем, го же на нём самом уже переписывали, отбой, не помогло.

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

юниксвейно было бы написать утилиту которая читайт стрим с ls и форматирует его

Эта утилита называется awk. Проблема в том, что она ничего не знает об этом стриме и поэтому ограничена в форматировании. А ls знает.

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

юниксвейно было бы написать утилиту которая читайт стрим с ls и форматирует его

Вывод ls форматирован и так, проблема в применении информации из ls в скриптах.

В ps я например могу сделать таблицу из двух столбцов pid и cmdline и так найти все процессы в имени которых есть какое либо буквосочетание или наоборот, по pid узнать имя процесса и всё это делается по принципу применить grep и взять первое или второе слово в строке, а вот чтобы сделать похожее с ls придётся поизвращаться.

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

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

Не переписывай старое, создавай новое!

I-Love-Microsoft ★★★★★
()

на го обычно переписывают с питона и прочей скриптоты

можешь переписать GDriveFS, все либы для этого есть. Возможно даже уложишься в лимит по строкам

Ford_Focus ★★★★★
()

Лучше перепиши с Go на C++ nncp и ipfs, из-за глупости авторов первый не умеет в кроссплатформенность, а второй не умеет в те вещи, которые решаются простой подменой библиотеки.

anonymous
()

Затея глупая, лучше вместо переписывания на Го, просто напиши что-нибудь новое, чего не хвататет на Го, тем более очень уж заносчивое и необосновнное утвержение про «конец эпохи плюсов», го отстаёт от плюсов уже хотя бы тем, что го хорош только в вебе, написать серьёзное ПО заточенное под высокую производительность на го почти нереально, т.к. язык очень новый и серьёзных компиляторов раз два и обсчёлся, поэтому, да - го хорош для некоторых задач и нет - плюсам он не соперник, т.к. в 9/10 задач в которых используют плюсы он сделает сальто с падением на голову. Поэтому мораль - пишите новое полезное для всех ПО, а не разводите срачи «ЯП1 против ЯП2», т.к. обосновать вы свою позицию не сможете, ведь даже исторически разработчики почти каждого нового языка(в т.ч. го) сами не скрывают того, что они как правило пишут язык для определённого круга задач и с определённой целью и объективно понимают, что с языками общего назначения с развитой инфраструктурой им не соперничать.

AKonia ★★
()

Лучше с питона чо-нибудь перепиши. Ansible например. Непонятно зачем тебе двигаться в сторону C++ если его эпоха заканчивается.

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

Хм

Денис Попов, ты ли это?…

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

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

во-первых, не «обсчёлся», а обчелся

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

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

Особенно firefox. Они-то его части на rust пишут. А ты тут такой, хоп, и на go

deadplace
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.