タグ付けされた質問 「language-choice」

プログラミング言語の選択を指します。

5
プロジェクトの規模と言語の厳密さとの間に相関関係はありますか?
私の同僚に言語の厳密さとパラダイムの違いを説明して、私は次のように断言しました: 動的言語やインタープリター言語などのトレラント言語は、プロトタイプや小規模プロジェクト、または中規模のWebアプリケーションに最適です。Node.jsでPythonやJavaScriptなどのエレガントな動的言語を選択する場合の利点は次のとおりです。 迅速な開発、 定型コードの削減、 Javaのような「企業言語」から逃げる若くて創造的なプログラマを引き付ける能力。 静的に型指定された/コンパイルされた言語は、ビジネスに不可欠なアプリや、中規模から大規模のアプリ向けのアプリなど、より厳密なものが必要なアプリケーションに最適です。 数十年にわたって開発された有名なパラダイムとパターン、 静的チェックの容易さ、 数十年の経験を持つ多くのプロの開発者を見つける能力。 Haskell、Adaなどの厳格な言語、またはC#のコードコントラクトなどの手法は、ライフクリティカルなシステムや非常に安定していると予想されるシステムなど、柔軟性よりも安全性を重視するシステム(Has​​kellが非常に柔軟である場合でも)に適しています。利点は次のとおりです。 コンパイル時に可能な限り多くのバグをキャッチする機能、 静的チェックの容易さ、 正式な証明のしやすさ。 しかし、大企業が大規模プロジェクトに使用している言語と技術を見ると、私の主張は間違っているようです。たとえば、Pythonは、YouTubeやその他のGoogleアプリケーションなど、重要な量の厳密性を必要とする大規模システムに使用されています。 プロジェクトの規模と使用すべき言語/パラダイムの厳密さとの間にはまだ相関関係がありますか? 考慮するのを忘れた3番目の要因はありますか? 私はどこが間違っていますか?

6
関数型プログラミング言語の選択[終了]
私は最近、関数型プログラミング言語に関する多くのスレッドを読みました(実際、ほぼ1年で)。私は本当に一つを選んで徹底的に学びたいです。 最後の[コース]セメスター、私はSchemeを紹介されました。私はそれが好きだった。シンタックスの非常にシンプルさ、ホモイコニシティの原理、マクロ(衛生的および非衛生的)、手続きのn-アリティなどが大好きでした。 Schemeの問題はアカデミックな言語です。実稼働環境で実際に使用されるとは思わない。履歴書を持っていることが特に良いとは思いません。だから、私は代替手段を探していました。それらの多くがあり、それらはどういうわけかすべての人気の同様のレベルを持っているようです。 私がまだ検討した他のいくつかの関数型言語についての考え: Clojure:Javaの世界にアクセスできるため、素晴らしいサウンドに聞こえます。拡張性と同時実行性を指​​向していますが、Javaの世界は今、最先端にありませんか?私はすでにJavaをかなりよく知っていますが、JVMに依存してさらにエネルギーを追加するのが賢明でしょうか? Haskell:非常に高く評価されている言語のように見えますが、私が読んだことから、それはまたアカデミックな言語でもあります。 Lisp:それは永遠に続いています。私がSchemeから気に入っているもののほとんどを持っているようです。大きなコミュニティがあります。私が知っていることは、おそらく業界で最も広く使用されている関数型プログラミング言語でしょうか? F#:本当に考慮しなかった。私はMSのものの大ファンではありません。私は彼らのソフトウェアにお金を払う余裕がありません(大学の提携から自由にすることはできますが、私はコミュニティ主導のソリューションを使いたいと思っています)。とはいえ、それは最高のキャリア志向の選択だと思います。 今夜、私はLispに傾いています。1週間前、Haskellでした。それ以前はClojureでした。過去1年間、私はあなたが知っている理由のためにそれをプッシュするのではなく、楽しみのためにいくつかのスキームをしていました。今、私は真剣になりたい(1つを学ぶこと、それを使って実際のプロジェクトを行うこと、最終的には専門的に作業することについて)。私の問題は、いずれかを選択する前に、それらをすべて徹底的に学ぶ必要があることです。

9
Lispから始めるにはどうすればいいですか?[閉まっている]
私は何年もプログラミングを行っており、Blubのさまざまな繰り返し(BASIC、アセンブラ、C、C ++、Visual Basic、Java、Rubyは「Blub-ness」の特定の順序ではありません)を学習しています。舌足らずの発音。しかし、私は限られた時間(家族、フルタイムの仕事など)と私の現在のBlub(Java)での快適な幸福を備えたものがたくさんあります。 だから私の質問はこれです、私が本当にLispを学びたい人だとすれば、ウェブ開発におけるLispの優位性を示す良い結果を得るための最初のステップは何でしょうか?多分私はその点を見逃しているかもしれませんが、それは私が最初に私のLisp知識の応用を見ることになる方法です。 「方言Aを使用し、IDE Bを使用し、Cページの指示に従い、カウンセラーDを使用してモナドの後に正気を疑う」と考えています。私はここの人々がA、B、C、そしておそらくDの最適な値のセットだと考えているものを知りたいですエキスパート。 さらに詳細を追加するために、MacOS(またはLinux VM)で開発します。Windowsベースのアプローチは必要ありません、ありがとう。 閲覧するだけの人への注意 この質問をしばらく開いたままにして、提案を調査した後にフィードバックを提供できるようにします。もしあなたがブラウジングをしていて、何か追加するものがあると感じたら、してください。あなたのフィードバックを本当に歓迎します。 興味深いリンク あなたがJavaのバックグラウンドからLispに来ていると仮定すると、このリンクのセットはすぐにあなたを始めるでしょう。 IntellijのLa Clojureプラグインを使用してLispを統合する(ビデオキャスト) Web用のLisp Practical Common Lispのオンライン版(c / o Frank Shearar) Land of Lispが登場し(+ (+ very quirky) game based)ましたが、とても簡単です MacOSにClojureとSublime 2をインストールする優れた入門ガイド Clojure in Actionの本を見てください。私のために働いた。


11
一部のタスクで会社でサポートされていない言語を使用しても大丈夫ですか?
COBOL、VB6、C#、Javaなどの複数の言語をサポートする会社で働いています。 私はこれらの言語を主な仕事に使用しますが、Pythonでいくつかのマイナープログラム(スクリプトなど)をコーディングすることにしばしば気づきます。 たとえば、アナリストが複雑なCSVファイルを提供していくつかのDBテーブルにデータを入力するため、Pythonを使用して解析し、DBスクリプトを作成します。 どうしたの? 主な問題は、これらの迅速で汚いスクリプトのいくつかの部分が徐々に重要性を増していることです。 私の会社はPythonをサポートしていません バージョン管理されていません(別の方法でバックアップします) 私の同僚はPythonを知らない アナリストは、電子メールでそれらを参照し始めています(「エクスポートするスクリプトを起動します...」)ので、私が最初に思っていたよりも頻繁に必要になります。 これらのスクリプトは、メインプロジェクトの一部ではない単なるユーティリティであることを付け加える必要があります。単純なタスクをより短い時間で完了するのに役立ちます。私自身の小さなタスクのために、彼らは多くのことを助けます。 つまり、私が宝くじに当たって事故に遭った場合、同僚はこれらのスクリプトがなくてもプロジェクトを維持する必要があります。たとえば、手作業でCSVエラーを修正するのに時間がかかります。 これは一般的なシナリオですか?私は何か間違っていますか?私は何をすべきか?

13
オペレーティングシステムがCおよびC ++で低レベルの処理を行うのはなぜですか?なぜC ++だけではないのですか?
WindowsのWikipediaページには、Windowsがブートローダーとタスクスイッチャー用にAssemblyで、カーネルルーチン用にC と C ++で記述されていることが記載されています。 IIRC、あなたがからC ++の関数を呼び出すことができるextern "C"「Dブロック。カーネル関数にCを使用して、純粋なCアプリがそれらを使用できるようにすることができます(printfなど)が、それらをextern "C "ブロックにラップすることができるのであれば、なぜCでコードを書くのですか?

11
Pythonがエントリレベルのプログラミング言語として推奨されるのはなぜですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 P.SEについては、初心者プログラマがPythonを最初のプログラミング言語として選択することをお勧めします。 誤解しないでください、私はPythonが好きです。それは大好きです!しかし、その哲学は「私たちは全員ここで大人に同意している」ことを中心に展開しています。 経験/知識の観点から見ると、初心者プログラマーは大人ではありません。それはちょっと傷を乗り越えても足で自分を撃ち、いくつかの悪い習慣を拾いやすくなることを意味します。 「より静的な」言語では、制限が厳しくなるため、自分自身を足で撃つことは難しくなると考えています。 質問に戻ります。Pythonがエントリレベルのプログラミング言語として推奨されるのはなぜですか? プログラミング言語を教えるのに適している点は何ですか。または...アドバイザーの個人的な好みですか?

9
高レベルの管理者に関数型プログラミングを考慮するよう説得するための良い事実上の議論は何でしょうか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 関数型プログラミングが良いアイデアである理由については、「理論的な」議論がたくさんあります(それが多すぎて未解決の問題として残っているので、正しくそうです)。 ただし、それらのほとんどは、理論(「エレガンス」など)から作成された議論、または開発者向けの議論です。 問題は、大企業の上級管理職にアイデアを提示することを目的とする場合、それらのほとんどはまったく役に立たないことです。一部の人は開発者でさえなく、全員が主にビジネス議論を重視します:コスト、人的資本管理、製品の配送、クライアントサービス、収益。事実に裏付けられない理論的ポイントに関する定量的事実も同様です。 Java / C ++ /(Perl | Python)などの手続き型/ OOPの典型的な組み合わせに対して、関数型プログラミングの概念(特定の言語ではない)の採用を検討する限り、これらのビジネス上の懸念に対処するために説得力のある議論はありますか。 できれば、定量的かつ/または研究や事例研究に基づいた議論を探しています。たとえば、「このリファレンスによると、Lisp / F#のマルチスレッドシステムのバグ率はJavaの10%です」または「トップ3の利益として機能プログラミングという名の望ましいテクノロジーの選好を表明する卒業生の80%」。 Grahamがスターアップの関数型プログラミングのユースケースを提示したことは知っていますが、大規模な既存の企業に有効であると仮定して、彼の議論の一部を受け入れます。 psPerlで関数型プログラミングに近いもの、おそらくPython、そして(おそらく)Java 8またはC ++ 14を実行できることを完全に認識しています。しかし、それはPerl、C ++またはJavaを使用する組織が関数型これらの言語でもOOP /手続き的アプローチ この言語の目的のために、「大」は、すべての開発者が使用/実行できるものを決定する専用の開発エンジニアリング/ツールグループを持つのに十分な大きさとして定義されます。そして、ローエンドで少なくとも数百人の開発者。

9
Fanboysの取り扱い[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新することがありますので、上のトピックソフトウェア工学スタックExchange用。 7年前に閉鎖されました。 私たちはおそらくこのような人に会ったでしょう。開発者は自分の言語が唯一の真の言語であり、それについて黙っていないことを知っているだけです。このような人のようにどのように対処しますか?私は誰かを怒らせたくありません(特に私の職場のファンボーイは上級開発者なので)。しかし、リポジトリに決して到達せず、他の誰も存在する必要がないというスローアウェイスクリプトを作成する必要がある場合は、自分で選択したスクリプト言語を使用できるようにしたいと考えています。 私はこれに対処しなければならなかったという考え: 笑って-「はい、たぶん言語Xが少し楽になりました。私はマゾだと思います!」 それに合わせて-新しい言語を選択することに伴う生産性の低下に耐えられないので、私はこれを避けたいと思います。 言語を隠す-クローゼットプログラマになり、スクリプトを作成するときや何かを自動化するときにモニターを隠す。 この状況に対して何を提案しますか?

2
サーバー側のサンドボックススクリプトの選択は何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 ユーザーがデータとスクリプトを共有して一部のデータを実行する公開Webサイトを構築しています。このサイクルは、このサイクルで他の対話なしに何らかのサンドボックスでサーバーサイドで実行されます。Perlプログラムはデータベースからユーザー作成スクリプトを読み取り、処理するデータをスクリプト(JSONドキュメント)に追加し、インタープリターを呼び出します。応答(JSONドキュメントまたはプレーンテキスト)を返し、perlスクリプトを使用してデータベースに保存します。スクリプトは、自分でスクリプト言語に追加された組み込み関数にアクセスできる必要がありますが、それ以上ではありません。 だから私は、JavaScriptインタープリターとしてnode.jsに出くわし、そして1時間ほど前にGoogleのV8を使いました(v8はこの種のことには意味がありますか?)。CoffeeScriptも見栄えがよく、Javascriptのままなので、思い浮かびました。 javascriptはOS呼び出しやリモートで安全でないものがないため、十分に普及しており、「サンドボックス化可能」だと思います(私は思う)。 ところで、私はPerlとPHPでフロントエンドのシステムを書いています。 質問を改善するために:node.jsで実装するのに十分安全でシンプルだと思うのでJavascriptを選択していますが、この種のタスクを達成するための他の選択肢はありますか?ルア?Python?サンドボックスインタープリターを適切な方法で実行する方法に関する情報が見つかりません。

3
確立されたエンタープライズ環境に新しいJVMプログラミング言語を導入する
現在の職場がJavaショップだと想像してください。Java言語については多くの知識が蓄積されており、すべてをスムーズでアジャイルな方法で処理するための包括的なビルドおよび展開プロセスが用意されています。 ある日、たとえばRubyで書かれようと叫ぶプロジェクトが始まります。上級開発者のみがRubyについての手がかりを持っていますが、JVMにはJRubyが存在するため、既存のインフラストラクチャを引き続き使用およびサポートできるという一般的な考え方があります。また、JRubyは、より少ないコードで現在のアプリケーションを実装するより良い方法への道を示すことができるため、これは継続的な移行を表すことができます。 JRubyは単なる例であり、Clojure、Groovy、またはJVM上で実行される他のすべてのものであることを忘れないでください。 問題は、このような変更をどのように導入するかです。

4
OCamlは数値解析に適していますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 4年前休業。 現在、微分方程式の数値システムを解くためにCと一部のFORTRANを使用しています。 私はこれらの両方の言語に少しうんざりしていますが、(かなり)効率的なコードが必要です... OCamlに切り替えることを考えています。 その価値はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.