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

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

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

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

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

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

Автор предлагает V как замену таким современным компилируемым языкам, как С++, Rust, Go.
  • Вопрос задан
  • 2943 просмотра
Пригласить эксперта
Ответы на вопрос 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.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
28 мар. 2024, в 21:17
5000 руб./за проект
28 мар. 2024, в 20:46
150000 руб./за проект
28 мар. 2024, в 20:37
50000 руб./за проект