Задать вопрос
dollar
@dollar
Делай добро и бросай его в воду.

В чём основной минус языка V?

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

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

Но что-то не верится в такую магию. Давайте разбираться. В чём подвох? Не может же быть, чтобы до ускорения в сотни раз никто до сих пор не догадался? В чем заключается основной "изъян" или "минус" языка, убрав который получим тот же <любой старый язык>, что и раньше?

Автор кажется разумным человеком и логично обосновывает необходимость языка в сравнении с предшественниками, приводя в том числе бенчмарки. По известным практикам берёт лучшие, по его мнению, из существующих. И я понимаю, что мы живем в век, когда ИТ развивается очень стремительно. А также я понимаю проблему раздувшегося до грани разумного ПО по размерам и тормознутости. Но даже с учётом этого с трудом верится в революцию. Больше смахивает на какой-то мыльный пузырь. Хотя аргументов против у меня не хватает.

Автор предлагает V как замену таким современным компилируемым языкам, как С++, Rust, Go.
  • Вопрос задан
  • 3125 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 5
Zoominger
@Zoominger
System Integrator
Собственно, вы и ответили на свой вопрос:
многочисленные баги
- отсутствие библиотек
Отсутствие комьюнити


Далее:
В чем заключается основной "изъян" или "минус" языка

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

Автор предполагает, что V - замена таким современным компилируемым языкам, как С++, Rust, Go.

Не совсем понятно, что за автор и есть ли рядом с ним пара Наполеонов и Кутузовых, но эта мысль абсолютно безумна. Точка.
Ответ написан
GavriKos
@GavriKos
Ну так вся магия (скорость, минимализм и остальное) - как раз из за отсутствия библиотек. Как только подключат гуй, либы для работы с системой, обратную совместимость для старых осей и вот эту всю обвязку, без которой можно только консольные тулзы пилить - сразу и время компиляции, и размер бинаря вырастут.
Ответ написан
@EvgeniiR
https://github.com/EvgeniiR
Хотя до конца не ясно, может ли без маркетинга новый ЯП взлететь на одних лишь объективных преимуществах.

Не может )
Гляньте не историю развития ЯП и поймете что объективные преимущества не решают абсолютно(привет Java с её "недоООП" вытеснившим SmallTalk).
Ответ написан
Комментировать
@GLaDosSystem
По-моему, когда будет го с дженериками (если вообще когда-нибудь будет), то сабж быстро станет не нужен.
Ну действительно же похоже на какой-то Go с немного изменённым синтаксисом:

// Please share your thoughts, suggestions, questions, etc here:
// https://github.com/vlang-io/V/issues/3

// I'm very interested in your feedback.

module main

struct User { /* ... */ }
struct Post { /* ... */ }
struct DB   { /* ... */ }

struct Repo <T> {
	db DB
}

// Generic code is notoriously verbose. To reduce clutter, V doesn't require you 
// to add `<T>` every time, since it already knows that Repo is a generic type.
fn new_repo<T>(db DB) Repo {
	return Repo<T>{db: db}
}

// This is a generic function. V will generate it for every type it's used with.
fn (r Repo) find_by_id(id int) T? { // `?` means the function returns an optional
	table_name := T.name // in this example getting the name of the type gives us the table name
	return r.db.query_one<T>('select * from $table_name where id = ?', id)
}

fn main() {
	db := new_db()
	users_repo := new_repo<User>(db)
	// I'm also considering passing the type as an argument
	// users_repo := new_repo(User, db)
	posts_repo := new_repo<Post>(db)
	user := users_repo.find_by_id(1) or {
		eprintln('User not found')
		return
	}
	post := posts_repo.find_by_id(1) or {
		eprintln('Post not found')
		return
	}
}
Ответ написан
Комментировать
Есть два общих минуса у 90% языков программирования, которые и не дают им быстро развиваться.
1. За спиной нет крупной компании, которая готова вкладывать деньги в маркетинг и развитие.
2. Нет чётко заявленной ниши. Для каких целей и кому он будет полезен? Универсальность языков уже давно не прокатывает.

А по данному языку вообще какой-то искусственный хайп поднимается. Ни исходников , ни бинарников компилятора еще нет в открытом доступе, зато на github десяток примеров набрали 2000 звезд.
И на данный момент, единственное позиционирование, которое я вижу на сайте - это Simple, fast, safe language created for developing Volt, soon available for everyone.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы