2022年10月6日木曜日

Javaは新規開発で選ばれなくなっていると聞きましたが、本当でしょうか?新規開発ではJavaの代わりにどの言語が選ばれているのでしょうか?

コメント:PythonのFastAPIがSnowflakeとの互換性や相性も良いです。Go言語のGinフレームワーク並の高速性で動作致します。PythonのAIの豊富なライブラリも使用出来ますのでお勧めで御座います。


Railsは、最初の一人の開発者は、開発していて楽しく、高速で短期間で開発出来るメリットが御座いますが、最初の一人の開発者しかメンテナンス出来ない。チームや他人ではメンテナンス出来ないので、大きな負債となり、倒産する企業も多数でており、大きな社会問題となっております。

エーオン代表

MASAHIRO ISHIZUKA.
ーーー

自分が2019年に転職したときはWeb系でJavaを採用しているところはほとんどなく、Javaを使い続ける選択肢を諦めました。ゼロではないけど割合としては1割未満だと思います。

しかし、ちょっと昔はそうでもなかったようです。『Web系企業・スタートアップ企業で働きたい人が初めて習得する場合に、1番おすすめの言語を教えてください』という設問でJavaが4位になっています。

★ Web系企業・スタートアップ企業で働きたい人必見!!★ 初めて習得する際に1番おすすめのプログラミング言語は Ruby, JavaScript で、今後を考えると Go, Python も!!
株式会社groovesのプレスリリース(2016年6月24日 13時20分)★ Web系企業・スタートアップ企業で働きたい人必見!!★ 初めて習得する際に1番おすすめのプログラミング言語は Ruby, JavaScript で、今後を考えると Go, Python も!!

6年前のアンケートなのですが、この6年で大きく変わったのはフロントエンド界隈でしょうか。バックエンド的にはテンプレート言語によるHTML返却から、APIによるJSON返却がメインになりました。

APIに向いているのはGoですが、FastAPIも評判が良いですね。流石にGoと同程度ではないですが、8割以上のパフォーマンスが出るようです。

FastAPI vs Flask - The Complete Guide
Introduction More and more people are getting onboard the FastAPI train. Why is this? And what is it about this particular web framework that makes it worth switching away from your tried-and-tested Flask APIs? This post compares and discusses code from an example Flask and FastAPI project. The sample project is a JSON web token (JWT) auth API. Here is the full source code . I’m willing to concede that a better title for this post would be “why use FastAPI instead of Flask”. Contents 1. FastAPI’s Performance FastAPI’s name may lack subtlety, but it does what it says on the tin. With FastAPI, you get the sort of high-performance you would expect from traditionally faster languages like NodeJS or Go. Naturally, benchmarks should be taken with a pinch of salt, have a look at the source of these How is this possible in slow old Python? Under the hood, FastAPI is leveraging Python’s asyncio library , which was added in Python 3.4 and allows you to write concurrent code. Asyncio is a great fit for IO-bound network code (which is most APIs), where you have to wait for something, for example: Fetching data from other APIs Receiving data over a network (e.g. from a client browser) Querying a database Reading the contents of a file FastAPI is built on top of Starlette , an ASGI framework created by Tom Christie (he is a Python community powerhouse who also created the Django REST Framework ). In practice, this means declaring coroutine functions with the async keyword, and using the await keyword with any IO-bound parts of the code. In this regard, Flask (as of v2.x) and FastAPI are identical. (Both frameworks use decorators to mark endpoints): Flask: @app.route ( "/get-data" ) async def get_data (): data = await async_db_query ( ... ) return jsonify ( data ) FastAPI: @app.get ( '/' ) async def read_results (): results = await some_library () return results However, Flask is fundamentally constrained in that it is a WSGI application. So whilst in newer versions of Flask (2.x) you can get a performance boost by making use of an event loop within path operations, your Flask server will still tie up a worker for each request. FastAPI on the other hand implements the ASGI specification. ASGI is a standard interface positioned as a spiritual successor to WSGI. It enables interoperability within the whole Python async web stack: servers, applications, middleware, and individual components. See the awesome-asgi github repo for some of these resources. With FastAPI, your application will behave in a non-blocking way throughout the stack, concurrency applies at the request/response level. This leads to significant performance improvements. Furthermore, ASGI servers and frameworks also give you access to inherently concurrent features (WebSockets, Server-Sent Events, HTTP/2) that are impossible (or at least require workarounds) to implement using sync/WSGI. You do need to use FastAPI together with an ASGI web server - uvicorn is the recommended choice, although

あとはフロントとの親和性でTypeScriptも含め、このGo, Python, TypeScriptの3つあたりが伸びているのかなと思います。

とっかかりやすいPHPや、チュートリアルが充実しているRuby(Rails)はまだまだ根強いですが、Javaを学ぶ機会はだんだん減ってきてますね。

0 コメント:

コメントを投稿