Эволюция стандартной библиотеки Go с пакетом math/rand/v2
С момента выхода Go 1 в марте 2012 года изменения в стандартной библиотеке были ограничены обещанием совместимости Go. В целом, совместимость оказалась благом для пользователей Go, предоставив стабильную базу для производственных систем, документации, учебных пособий, книг и многого другого. Однако со временем мы осознали ошибки в оригинальных API, которые нельзя исправить без нарушения совместимости; в других случаях изменились лучшие практики и соглашения. Нам нужен план для внесения важных, но несовместимых изменений.
Этот пост в блоге посвящён новому пакету math/rand/v2 в Go 1.22 — первому пакету «v2» в стандартной библиотеке. Он вносит необходимые улучшения в API math/rand, но что ещё важнее, он служит примером того, как мы можем пересматривать другие пакеты стандартной библиотеки по мере возникновения необходимости.
(В Go math/rand и math/rand/v2 — это два разных пакета с разными путями для импорта. Go 1 и все последующие версии включают math/rand; Go 1.22 добавил math/rand/v2. Программа на Go может импортировать либо один из пакетов, либо оба.)
В этом посте обсуждаются конкретные причины изменений в math/rand/v2, а также общие принципы, которые будут руководить созданием новых версий других пакетов.
Эволюция стандартной библиотеки Go с пакетом math/rand/v2
С момента выхода Go 1 в марте 2012 года изменения в стандартной библиотеке были ограничены обещанием совместимости Go. В целом, совместимость оказалась благом для пользователей Go, предоставив стабильную базу для производственных систем, документации, учебных пособий, книг и многого другого. Однако со временем мы осознали ошибки в оригинальных API, которые нельзя исправить без нарушения совместимости; в других случаях изменились лучшие практики и соглашения. Нам нужен план для внесения важных, но несовместимых изменений.
Этот пост в блоге посвящён новому пакету math/rand/v2 в Go 1.22 — первому пакету «v2» в стандартной библиотеке. Он вносит необходимые улучшения в API math/rand, но что ещё важнее, он служит примером того, как мы можем пересматривать другие пакеты стандартной библиотеки по мере возникновения необходимости.
(В Go math/rand и math/rand/v2 — это два разных пакета с разными путями для импорта. Go 1 и все последующие версии включают math/rand; Go 1.22 добавил math/rand/v2. Программа на Go может импортировать либо один из пакетов, либо оба.)
В этом посте обсуждаются конкретные причины изменений в math/rand/v2, а также общие принципы, которые будут руководить созданием новых версий других пакетов.
Tata Power whose core business is to generate, transmit and distribute electricity has made no money to investors in the last one decade. That is a big blunder considering it is one of the largest power generation companies in the country. One of the reasons is the company's huge debt levels which stood at ₹43,559 crore at the end of March 2021 compared to the company’s market capitalisation of ₹44,447 crore.
Should You Buy Bitcoin?
In general, many financial experts support their clients’ desire to buy cryptocurrency, but they don’t recommend it unless clients express interest. “The biggest concern for us is if someone wants to invest in crypto and the investment they choose doesn’t do well, and then all of a sudden they can’t send their kids to college,” says Ian Harvey, a certified financial planner (CFP) in New York City. “Then it wasn’t worth the risk.” The speculative nature of cryptocurrency leads some planners to recommend it for clients’ “side” investments. “Some call it a Vegas account,” says Scott Hammel, a CFP in Dallas. “Let’s keep this away from our real long-term perspective, make sure it doesn’t become too large a portion of your portfolio.” In a very real sense, Bitcoin is like a single stock, and advisors wouldn’t recommend putting a sizable part of your portfolio into any one company. At most, planners suggest putting no more than 1% to 10% into Bitcoin if you’re passionate about it. “If it was one stock, you would never allocate any significant portion of your portfolio to it,” Hammel says.