LINUX.ORG.RU

начало нового проекта

 , , ,


1

2

скажи мне лор, в качестве языка для нового проекта ты бы выбрал язык с динамической или статической типизацией?

node(deno?) или c#/java ?

стоит ли в современном мире это дело делить на back и front, или fullstack дешевле, производительнее и в целом лучше?

★★★★

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

Сишечка. Выделись из толпы это модно и молодёжно. Javascript из всех щелей? Вам надоела c# непонятливость, вы чувствутете себя стеснённо в java оковах. Вы уже видели взлёт и падение node и не хотите опять смешиваться с серой толпой поклонников одного человека который опять надувает пузырь по имени deno?

★★★★ Сиишечкаа ★★★★ вот ваш выбор!

ВЫДЕЛИСЬ ИЗ ТОЛПЫ

  • Почувствуй свободу

Покажи всем кто ты есть на самом деле. Сишечка вот твой яркий ответ серой массе посредственности! Иииииихааа. Тыгыдык-тыгыдык-тыгыдык

LINUX-ORG-RU ★★★★★
()

скажи мне лор

как-то ты без уважения спрашиваешь.

ukr_unix_user ★★★★
()

c#/blazor.wasm взял бы для фронта SPA

в остальных случаях дефолтные c#/java на их дефолтных фрэймворках

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

делить на back и front

this

в качестве языка для нового проекта ты бы выбрал

Смотря что за проект, для души бы выбрал:

(elixir || haskell) + (elm || svelte)

ddidwyll ★★★★
()

Для денег, бэк - Java + Spring Boot, фронт - next.js.

Для души, бэк - Rust, фронт хз.

Legioner ★★★★★
()

Я бы выбрал Java + TypeScript, бэк и фронт соответственно, я как жабодевелопер утверждаю что TS освоить Java девелоперу вообще нефиг делать, это почти Java без анонимных классов. Сборка фронта с webpack почти как GWT.

По поводу фреймворков не подскажу, для своего проекта я использовал react+redux на фронт и думаю останусь на этом стеке, а бэк переписываю на kotlin + ktor + exposed , но это экзотика, советовать в прод не могу, я еще все грабли не собрал чтоб рекомендовать такое.

Aber ★★★★★
()

На чём быстрее попасть в бизнес-требования, на том бы и пилил. Хоть вообще без кастомного бекенда, на firebase.

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

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

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

С динамической типизацией и иммутабельными данными как в Clojure или статической типизацией без явной аннотации типов как в *ML.

commagray ★★★★★
()

скажи мне лор, в качестве языка для нового проекта ты бы выбрал язык с динамической или статической типизацией?

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

node(deno?) или c#/java ?

Ни в коем случае. Python или C++.

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

Интересно, какие могут быть причины выбирать с++, кроме очевидных специфических ниш, где нет альтернатив?

mono ★★★★★
()

стоит ли в современном мире это дело делить на back и front, или fullstack дешевле, производительнее и в целом лучше?

Это менеджерский вопрос

ya-betmen ★★★★★
()
Ответ на: комментарий от Rastafarra

Срок жизни проекта: 3 года на разработку

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

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

делить на back и front, или fullstack дешевле

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

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

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

3 года на разработку

С нуля до первого релиза? То есть буквально 3 года дают? Можешь брать что угодно, за 3 года можно что угодно освоить. А можно взять spring boot & next.js, например (или вообще jhipster), забыть про реализацию всяких прослоек типа авторизации в десятый раз, только в новом модуле, переиспользовать написанное другими, за полгода написать все фичи, а потом 2.5 года сидеть на озере в Черногории, попивать смузи и постить сюда истории успеха.

cdshines ★★★★★
()

Мне нравится Svelte для фронта

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

Если проект не выходит в продакшн через 2-6 месяцев с начала разработки - это заведомо мертвый продукт

… в мире javascript.

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

anonymous
()

Я не понял это про веб или как (а то js в тегах)?

Вобщем, как бы то ни было. Основная логика в идеале Си (C#/Java не особо приветствуются но тоже сойдут), а если надо поскорее да попроще, в ущерб итоговому качеству то PHP. Никаких, упаси боже, js, в любом случае.

Если это веб то часть логики будет в браузере - тут выбора нет, оно на js. Всякие препроцессоры над js (вроде typescript) - лишнее.

стоит ли в современном мире это дело делить на back и front, или fullstack дешевле, производительнее и в целом лучше?

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

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

Конь царя?

Ты шо творишь шайтан, я аж в голос заржал.

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

А какие могут быть причины не выбирать c++, кроме очевидных специфических ниш (web)?

fluorite ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Да нет, не так давно он ничего не понимал в теме о новом редакторе ЖБ.

fernandos ★★★
()

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

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

Шарп многословен? Давно это уже не так. В последних версиях даже Main можно не писать. :)

amm
()

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

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

С нуля до первого релиза? То есть буквально 3 года дают? Можешь брать что угодно, за 3 года можно что угодно освоить.

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

как с этим в динамическом js-е?

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

А какие могут быть причины не выбирать C++ и что вы считаете его альтернативами?

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

Вообще без разницы, у вас проект очень нетипичный для современного подхода. Если есть финансирование на 3 года без постановки промежуточных значений, у вас априори будут все проблемы, вызванные таким подходом, поэтому, взяв любую технологию, вы себя обрекаете на N эпизодов «будем все обновлять», «будем все переписывать» и т.д. Просто возьмите то, у чего на гитхабе побольше звездочек (для любого языка), так будет хоть какая-то гарантия того, что за эти 3 года будет поддержка со стороны сообщества и вам не нужно будет отвлекаться на мелочи. Заложите 1-2 месяца на эксперименты, постройте внутри MVP, обязательно реализовав хоть 1 нетривиальную фичу - поймете, что к чему (правильную ли взяли базу, правильный ли язык, удобно ли писать миграции, как деплоите, как observability можно организовать и т.д.). Будьте осторожны с примерами на главных страницах - они, как правило, вырожденные и нужно применять к своей области конкретно. Обязательно нужно смоделировать что-то из домена, а не чужой пример. Когда поймете, где проблемы, будете уже знать, куда курс держать. Ориентируйтесь не на язык, а на экосистему, и для каждого предполагаемого компонента, который вы будете из нее использовать, обращайте внимание на качество и количество документации - не-эзотерические языки документированы достаточно полно, но при этом уровень качества документации очень различается.

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

cdshines ★★★★★
()

«C», конечно, как будто выбор есть. Хоть там и портировали чё-то для python и js на микроконтроллеры, это все очень не серьезно пока что. А вот для интерфейса на пк - C++ с Qt.

YetAnotherUser
()

начни на сусликах, по ходу дизайна поймешь что это golang:)

slackwarrior ★★★★★
()

Если пилить проект будешь один, то бери JavaScript. JavaScript с Node.js для фронта и бека топчик!

anonymous
()

Я бы подбирал под задачу инструментарий, а не задачу к инструментарию приспосабливал. Точнее я именно так и поступаю.

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

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

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

c#/blazor.wasm взял бы для фронта SPA

Да, поддерживаю. Хорошо у них получилось это всё. Есть ещё blazor server - тоже офигительная штука.

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

с#. А чё на голой джаваскриптухе всё ещё пишут. Там же типизированный typescript взлетел.

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

Заложите 1-2 месяца на эксперименты, постройте внутри MVP

мвп уже продали на реальных данных, отсюда и бабло собсно.

Ориентируйтесь не на язык, а на экосистему

экосистмы и строим собсно, как без нее.

вопрос-то в чем, рискнешь ли ты, например, строить «такое» с армией хипстоты, или подавай тебе десяток олдов?

невнятная «гибкость» или жесткие оковы статики?

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

чем-то же надо заниматься 3 года. 3 года блин! взять и сделать, а потом что?

что для тебя большой проект? можно в строках кода.

Rastafarra ★★★★
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Давно к слову его не видно. Хотя

Ковид не щадит стариков, увы.

anonymous
()

node(deno?) или c#/java ?

Метапрог

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

невнятная «гибкость» или жесткие оковы статики?

Что выбрал? И олды у тебя или команда хипстоты? А как вы привыкли писать? А какой инструментарий?

И npm и dotnet с github - это MS. Так что…
Так что всё зависит от твоего умения разбираться в людях.
Посмотри, КАК они пишут.

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

что для тебя большой проект?

ну смотри. сопоставимый по сроку (3 года) проект это приблизительно 200к боевых строк жабы. исполнено одним настоящим жабосварщиком, и двумя джунами + тестер(ы), разработчик(и) БД, эксплуатация.

стадии развития проекта:

  • неюзабельное говно - примерно через 3 мес
  • прототип - выкатили примерно через 6 мес. пользоваться этим без мата было невозможно. а иногда(часто) и просто невозможно.
  • похожая на правду хрень, закрывающая 30% (ладно, 50) реальных потребностей - через год.
  • через суровый рефакторинг и запиливание очешуительно модных фич типа нескольких специализированных DSL вышли на уровень 90% юзабельности - через 2 года.
  • ленивое допиливание и ловля мелких блох - еще полгода. проект закрыт. время от времени требуются консультации и легкое сопровождение - пара часов в месяц. все важное и нужное разруливает команда заказчика ежедневно в режиме 24\7.

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

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

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