はてなキーワード: javaとは
https://webcache.googleusercontent.com/search?q=cache:anond.hatelabo.jp/20240308100954
IT業界は先進的な企業が多いから、思想的にもリベラルで旧態然とした差別はかなり少ない。
などと、シリコンバレーの一部企業を見て幻想を持ってしまった可哀想な人が観測されたので、実際のところを記す。
IT業界の一部では、確かに異常なまでにポリコレ道を邁進する企業がいる。しかしそれをIT業界に当てはめるのは間違いである。
特に日本ではごく普通に性差別が残っており、多くの人がそれを(しぶしぶ)容認している状態である。
見方によっては九州の亭主関白のような地域に根ざした性差別であり、おかしいと思う人もいるものの慣習として残っている。
具体例を挙げよう。日本のIT業界には、女性しか参加できない勉強会が一般的に行われている。
これは「生理が齎すコード品質への影響」というような女性特有のものではなく、
例えば CTF for Girls という、セキュリティ関係のコミュニティは女性限定である。
なお念の為明記しておくが CTF for Boys のような男性限定コミュニティは存在しない。
他にもたくさんある。例えば Java 女子部というコミュニティがあり、ここも女性限定である。
男性がここで Java の勉強をすることは許されない。Java 男子部は存在しない。
他にも枚挙にいとまがなく、性別によって区切られた閉鎖的なコミュニティが一般的に存在するのである。
なおこういう状況を記すと、底の浅いブクマカが「アファーマティブ・アクションだから仕方ない」というブコメをすることが想定されるが、これはアファーマティブ・アクションではない。
アファーマティブ・アクションは格差是正を第一目標に置いた取り組みを指す。例えば大学入学者に黒人が少なく、人種に偏りができるため一時的に黒人を優遇するというような措置だ。
例えばだが、スタンフォード大学が性差別に対するアファーマティブ・アクションとして、スタンフォード女子大学を作るわけではない。
あくまで優遇するという措置であり、女性限定や黒人「限定」の大学を作るわけではないのである。
IT業界は先進的な企業が多いから、思想的にもリベラルで旧態然とした差別はかなり少ない。
などと、シリコンバレーの一部企業を見て幻想を持ってしまった可哀想な人が観測されたので、実際のところを記す。
IT業界の一部では、確かに異常なまでにポリコレ道を邁進する企業がいる。しかしそれをIT業界に当てはめるのは間違いである。
特に日本ではごく普通に性差別が残っており、多くの人がそれを(しぶしぶ)容認している状態である。
見方によっては九州の亭主関白のような地域に根ざした性差別であり、おかしいと思う人もいるものの慣習として残っている。
具体例を挙げよう。日本のIT業界には、女性しか参加できない勉強会が一般的に行われている。
これは「生理が齎すコード品質への影響」というような女性特有のものではなく、
例えば CTF for Girls という、セキュリティ関係のコミュニティは女性限定である。
なお念の為明記しておくが CTF for Boys のような男性限定コミュニティは存在しない。
他にもたくさんある。例えば Java 女子部というコミュニティがあり、ここも女性限定である。
男性がここで Java の勉強をすることは許されない。Java 男子部は存在しない。
他にも枚挙にいとまがなく、性別によって区切られた閉鎖的なコミュニティが一般的に存在するのである。
なおこういう状況を記すと、底の浅いブクマカが「アファーマティブ・アクションだから仕方ない」というブコメをすることが想定されるが、これはアファーマティブ・アクションではない。
アファーマティブ・アクションは格差是正を第一目標に置いた取り組みを指す。例えば大学入学者に黒人が少なく、人種に偏りができるため一時的に黒人を優遇するというような措置だ。
例えばだが、スタンフォード大学が性差別に対するアファーマティブ・アクションとして、スタンフォード女子大学を作るわけではない。
あくまで優遇するという措置であり、女性限定や黒人「限定」の大学を作るわけではないのである。
この日記の内容は、会社の後輩から「最近エクセルマクロを勉強し始めて(キラキラ)」という話を聞いて、先輩ムーブをかますために話した内容になります。
とにかくこれから説明する「計算用シート」が憎くて憎くてたまらず、ちょっと引かれるほど熱弁してしまいました。
ただ、他の方がどうされているのかや、逆に「計算用シート」を愛用する方の意見も聞きたくなり、増田に書いてみました。
エクセルマクロのお作法とか書きましたが、要するにエクセルマクロで「計算用シート」って色々な意味でよくないよね、という話をしたいです。
3行でまとめます。
〇 エクセルシートはユーザーインターフェース(インプット)か出力結果(アウトプット)のためのものとすべき
〇 データ加工をする場合には、原則配列や辞書型配列(連想配列)に格納して加工を行い、最後の結果だけシートに出力するべき
〇 何事にも例外はある。
エクセルマクロにも色々あると思いますが、今回は下記を想定します。
日付や人物名などを入力し、データベースや別のエクセルファイル、別のシートから取得したデータを入力された値を基に加工し、加工後のデータをシートに出力する
この場合、入力欄があり編集可能なシートがユーザーインターフェース、最終的に加工されたデータが出力されるシートが出力結果です。
(もちろん、ユーザーインターフェースの別の欄(セル)に出力する場合もあるし、その場合はユーザーインターフェースと出力結果が一体のものとみなします。)
また、データ用シートは同じエクセルファイル内に基となるデータが含まれる場合を想定します。
(これ自体が非推奨で、SQLデータベースかせめてAccessを使え、という意見はありますがそれは別にして…)
ではここで定義する計算用シートとはなにかというと、文字通り計算を行うためのシートです。
1.元となるcsvファイルをエクセルに読み出してシートに格納
2.そのデータは日付が数値型になっているので、日付(数値型)の入った列を文字列に変換した日付(文字列型)列を新たに作成
これは極端な例ですが、とにかく変数や配列を定義せず(あるいはエクセルのセルオブジェクトを変数のように扱い)、エクセルに値を入力し、それを直接加工することで目的となるデータ加工をしたり、様々な処理をします。
なんかこんな感じの処理をしているエクセルマクロ、どこの会社でも腐るほどあるんじゃないでしょうか。
ある程度マクロに慣れた気の利く人なら、このシートはロックや非表示にして、ユーザーから触れないようにするでしょう。
・・・これ、やめたほうが良くないですか?。
ある程度詳しい人なら同意してくれると思いますが、このやり方でダメな理由はいっぱいあります。
後で説明する配列や辞書型配列(連想配列)と比べると格段に処理が遅いです。
ちょっと詳しい人が知っている「画面更新の非表示」を駆使しても、配列を使った処理からみれば止まったハエです。
いったんエクセルシートにデータを格納して加工しているので、コードとエクセルシートを両方見る必要があり、とても読みにくいです。
変数として命名されていないのも致命的で、処理の意図が余計に分からなくなります。
計算用シートを事前に用意して、別のセルに関数を格納しておき、マクロと関数を使ってデータ加工をするものも見たことがあります。
あまり知られていませんが、セルの最大文字数は32,767 文字です。
セルの最大文字数を超えると自動的に隣のセルに値が入り、シートが滅茶苦茶になります。
他にもエクセルの数値を丸める自動変換の仕様とか文字列→日付の自動変換とか、いくつものバグに苦しめられます。
できる人だと、いちいち最大文字数が多い場合の処理を書いたり自動変換機能を殺したりしてくれますが、そんなことに手間をかけているから日本のGDPは上がらないんだと思います。
他にも、データが大きくなると処理が重くなり不安定になる、計算用シートを人が触ってしまうリスクがある、などいくらでも理由は上げられます。
(逆に利点は、目の前でガチャガチャ動いてスーパーハッカーになった気分になれるくらいしか思いつかない・・・)
配列を使いましょう。
配列とは何ぞや、という人はググってください。
配列にデータを入れて、データ加工は配列や変数に対して行い、一番最後の出力だけセルに値を格納する。
個人的にオススメしたいのは辞書型配列(連想配列)で、うまく使うとデータの管理が簡単になり、処理も爆速になります。
(参考)【VBA】大量データから高速で値を検索【Dictionaryを使う】
csvファイルもなまじエクセルで開けるだけに別のブックやシートで開きがちですが、これは悪魔のささやきです。
直接ファイルを読み出してLine InputやSplitで配列に格納しましょう。
エクセルとして開くやり方はコード書くのは簡単でも、実行時間に天と地ほどの差が出ます。エクセル開くと処理もめちゃ不安定です。
(参考)Excel VBAでCSVオープンするときのパフォーマンス比較
いや、冒頭のマクロを書く人の気持ちも分かるつもりです。自分もコードを書き始めたころは全部シート上で操作していました。
冒頭のマクロのほうが直感的なんですよね。自分が手で書くことをマクロにやらせる、というマクロ本来の趣旨にはあっていますし。
途中の計算過程もすべて目の前で展開されるから分かりやすいです。
ただ、それではダメなんです。。。処理は遅いし挙動は不安定だし後で改修・保守する人が死にます。
あと、エクセルシートやセルは当然エクセルにしかないので、エクセルマクロ(VBA)から他の言語に移れなくなります。
自分もエクセルマクロの里の出なので、計算用シート脱却には苦労しましたが、苦労して会得した配列や辞書型配列(連想配列)のスキルはそのまま他の言語に活かすことができました。
配列の中身を見る方法は別にある(ローカルウィンドウやDebug.printを使うなど)ので、リハビリに取り組んでほしいです。
(参考)VBA デバッグの仕方
計算用シートを許容できる、使うべきケースもあると思います。。
個人的には、
(最後のは、なんでも自分で確認しないと気が済まない上司の発注で、意味不明と思いましたしたがしぶしぶやりました。)
この場合、インプットのエクセルシートに直接加工するのは論外なので、計算用(加工用)のシートを用意してそこで操作を行うことは必要だと思います。
他にも、こういうときは「計算用シート」があったほうが良い、という状況があれば教えてもらえると嬉しいです。
そもそもツッコミとして、「データ加工するならエクセルマクロを使わずにpythonとかRとかもっとまともな言語使えよ」という言葉が来そうな気がします。
ただ、個人的にはエクセルマクロ(VBA)は大好きですし、初心者にもおすすめしたいです。
自分のような非エンジニアだと、セキュリティの関係などでPythonの開発環境とかすごく用意しにくいんですよね。
(あと、コマンドプロンプトの真っ黒な画面が怖かった)
その点エクセルマクロは、開発環境の用意はプロパティでチェック項目を一つオンにするだけだし、入門書がたくさんあるし、セルの挙動を追えば視覚的にプログラムを理解できるし、初心者に優しいです。
(そのやさしさが上述したとおり悪魔の罠なわけですが。)
最初は計算用シートに頼ってでもエクセルマクロからプログラミングを始めて、本格的なデータ加工をし始めたあたりで計算用シートという諸悪の根源から脱却する。
さらに本格的なデータ処理を行うために、PythonやRなど別の言語を習得したり、エクセルからSQLデータベースやACCESSなどに切り替えていく、というプロセスがいいのではと個人的に思います。
【略歴】
将来はIT業界で働くことを夢見るも高校では全く勉強しなかったため、大学受験は諦め京都の旅館で働く。
バックパッカーとして世界一周するための資金100万円貯まったため、旅館を辞めインドへ行く。
ヒンディー語がわからず、ニューデリーから出ることができず、1週間で帰国。
帰国後、SESで3年働くも運用保守担当でほぼエクセルで設計業務・マニュアル作業。
Javaをやったことがないがやったことがある体にしてJavaの現場に1人で入るも、振られる業務を時間内にこなすことができない状態が続き、病んで仕事を辞める。
プログラマーを目指してprogete等で勉強するも、お金が尽きスポーツクラブでスタッフ(インストラクターやトレーナーもしていた)として働く。
コロナの影響でスポーツクラブが営業停止になり、収入がなくなったため、他の仕事をするためにスポーツクラブを辞める。
プログラマーを目指し独学をするも、無理なスケジュールを組んでしまい、ポートフォリオ作成で挫折。
職業訓練WEBデザイナー科に通い、その後WEBエンジニアとして就職。
1年ちょっと働いた当たりで疲れて仕事を辞める(平均9-21時勤務、繁忙期は終電帰宅・休日出勤・片道1.5時間、プログラミング(開発業務)ができなかった、アル中等)。
'サービス 開発 リモートワーク 提供 機械学習 プロダクト ソリューション 大規模 技術 要件 する チーム 企画 運用 設計 検索 ため 推進 製品 活用 改善 通信 投資 terraform アーキテクチャ フレームワーク ポジション データ 用い cto プラットフォーム gcp 課題 ビジネス 備考 リーダー scala クラウドサービス 配信 利用 リード 特化 github 処理 ユーザー ci js パーソルクロステクノロジー 新規 喫煙 月額 ai 提案 ビッグデータ クラウド 検知 仕様 スクラム 受注 施策 連携 マーケティング 展開 主体的 インフラ メディア フレックスタイム制 翻訳 広告 社会 事業内容 年俸制 行動 対する マネジメント 音声 自然言語処理 東京メトロ django レコメンド 保養 docker 購入 分析 go メンバー 解決 フルフレックス 検討 jira sas ステークホルダー 折衝 基本給 定義 創業 表彰 新橋駅 インターネット ansible'
'制作 応募 ます 未経験 ゲーム 月給 研修 案件 ください あり 完全 ok 交通費 歓迎 java 土日 アクセンチュア 試用期間 希望 契約社員 です たい テスト 休み スキル ヶ月 電話 エンジニア 年収 まで ませ 実績 あなた 名古屋 住宅手当 スクール ブランク 弊社 php サーバー 面接 net お客様 紹介 vb 豊富 up タイトル 経験者 チェンジ 原則 から 営業 夏季休暇 ディビジョン 不問 ses 全額支給 step ドローン ござい 許可 つけ 相談 みなとみらい 言語 か月 定期的 書類 好き 気軽 製造 内定 当社 活躍 db また 昇給 週休 教育 全員 prevent 面談 デバイス ソクコム 内容 分野 人数 cobol 雇用 策定 先輩 有料 連絡 求人 知識 安心 農業 残業 産前産後休暇'
GoogleがGoを作るよりももっとずっと前から採用している言語は主にC++, python, そしてjavaだが、javaのパートが一番問題だ。
Android関連の開発で有用であるという点でjavaは使われるが、ロイヤリティを支払うことになっている。
JVMはいいんだよ。マジで素晴らしい。Javaはあまりにもクソ過ぎる。
不完全な型推論、あまりにも冗長すぎるモジュール機構、ファーストクラスじゃない関数、なんでもクラス、ザコみたいな型システムに由来したあまりにも乏しい表現力。
あげてもキリがないほどのクソofクソ。このそびえたつクソに燦然と輝く究極のゴミ、そう我らが springframework。
マジでイカれてるよ。直近のJDK21で導入されたJavaの言語仕様としては instanceof 以外で正気を疑う進歩のなさ。どうしてこんなゴミがのさばってるんだよ。
まじで新規案件はKotlinかScalaにしろ!!!!!!(Scalaをまともに使える能力も判断力もない人間がなんとなくJavaを使うんだろうなあ)
まず、マイナス事項を伝えたい。
ばっきし言って俺はアル中。やめようやめようと思ってもやめられずデイケアに通ってる
でもそれでもまだ飲んじゃうし、飲んだらデイケアに行きにくくなるので週3回行かなくちゃいけないところを週2回しかいけてない。
アル中の傷病手当で生活しているが、そのお金で酒を飲んでいる。
あとノンデリと言われる。30代女性に30代は生殖能力が落ちると言って泣かれたことがある。
18歳のときにホリエモンの「これからはITだ」という言葉に触れてそれからIT業界を12年目指してきた。
それでも働きたいという情熱はある。
仕事でプログラミングさえさせてくれればどんどんスキルが伸びると思ってる。
どんなに過酷な現場でもいいので雇ってくれるところ、志望出したら全入の現場・会社を知ってたら教えてほしい。
俺はなんとしてでもIT業界に入ってWebエンジニアになりたい。
一度目はSES。Javaが出来ないのにJava出来ますと言って入って、プログラマー志望だったんだが保守運用を任されて3年やってプログラミングをさせてもらえず仕事もブラックで病んでやめた。
この数年間でいろいろ学んだ俺はPHP、JavaScript、Rails、Django等々様々なスキルセットを武器に無事入社することができた。
任されたのはエンジニアと先方の間に入る伝書鳩。でも客に聞かれたことに答えられず、「君じゃなくて分かる人と代わって」と言われる始末
ボトルネックとなっていた
入ってきた新人くんはプログラミングを任されどんどんスキルを身に着けていった。
俺は1年でここを辞めた。そして今に至る
俺には夢がある。それはパパになること。
これまでたくさんの本を買ってきた。チュートリアルをしてきた。プロゲートのレベルは212。
Webエンジニアになる本も買ったし、ディープラーニングの本も買った
やる気だけはあるんだ
頼む、誰かいいところを紹介してくれ
向き不向きより前向き!
IT目指して12年、未経験30歳、ポテンシャル採用してくれるところ探してます!