關於.Net和Java的看法-一個小實習生經歷

来源:https://www.cnblogs.com/xiaofangcode/archive/2022/11/09/16871193.html
-Advertisement-
Play Games

前言 之前想用Markdown來寫框架文檔,找來找去發現還是Jekyll的多,但又感覺不是很合我的需求 於是打算自己簡單弄一個展示Markdown文檔的網站工具,要支持多版本、多語言、導航、頁內導航等,並且支持Github Pages免費站點 組件選擇 我自己呢比較喜歡C#,恰好現在ASP.Net ...


目錄

  1. 背景
  2. 帶著疑惑
  3. 生活中的迷茫
  4. 開始實訓
  5. 實習
  6. 再看java
  7. 總結

背景

筆者是一個專科院校的一名普通學生,目前就職於某三線城市的WEB方面.Net開發實習生,在找實習期間和就業期間的一些看法,發表此文,純個人想法,歡迎討論,指正!哈哈輕點噴~

在校學習技術方面也是.Net方面,所以實習就是.Net開發實習生。我也很喜歡這門優雅的語言!

在還未上專科院校的時候,我就開始瞭解編程,從啟蒙的VB,到簡單的排序演算法。我曾經感嘆:簡單的幾行代碼,就可以完成這麼多好玩的東西!跟風在網路上看到程式員的高薪,身為一個農村的孩子,也想通過編程賺取高一些的薪資和在辦公室辦公。

但當我開始在B站(VB也是通過視頻學習)等渠道,搜索編程語言,教程的時候,十之八九的視頻教程都是建議學習Java,無論是就業還是薪資方面,仿佛都告訴我:選擇java就可以走上人生巔峰!迎娶白富美!

當進入學校,大一的課程是Html Css Java的時侯,我覺得這樣子的路線,和網上說的是一樣的!參加了社團之後,有學長和我說,我們的主要學習技術棧是.Net方面,我當時也是一臉問號?沒聽過這個,好像也不出名。會不會是個坑?

帶著疑惑

之前在網上看的什麼介紹視頻都是java這種的,給了我一種,java是最好的語言的感覺,大環境都使用他。以至於我一開始是不太喜歡.Net的,現在回頭想想,還是太天真了~ 從大一下學期開始,我們的課程變成了C#,WinForm 方面,我一看,這不是和VB有點相識嗎,都是托拉拽,寫事件的。在內心更不喜歡C#了,覺得有點低級 哈哈哈(WinForm 開發大佬別噴我),那也是再次加深了偏見,我和我們專業課老師也曾對話:

  • 我:老師,我們為什麼要學習這個語言,就業不會很困難嗎?他好像不是這麼流行?
  • 老胡:不要糾結於語言,主要是編程思想和學習方法。
  • 我:???,我覺得有點迷茫,不知道能做什麼,我會了什麼?
  • 老胡:以前的學生也有過你這樣的迷茫,大部分人都會有,我的建議是跟著一步一步走下來,還是想的太多做的太少,人才會迷茫。

在那時,我還是不理解為什麼要選擇這門語言,但我還是跟著老師一步學下來了,後來的的課程是Sql,.NetCoreMVC ,JavaScript,NodeJs,Vue,WebApi

生活中迷茫

在專科院校,我們學院算是管理比較嚴格的。輔導員和親媽一樣,一周查寢兩三次,經常和你聊天,在課堂學習的時候,還會來抓人是否有玩手機,偷偷睡覺的。也是這種環境,讓我沒機會偷懶,很感謝我的兩位輔導員(孫姐,琦姐)! 咳咳,跑題了
其實在宿舍我們也曾一起聊天這方面:

  • 舍友:我覺得我們學的太雜了,一會學這個一會學那個,啥都是淺嘗輒止,就怕到時候出去都沒人要
  • 我:我也是覺得啊,我自己找了java的學習路線,你要不要看看?
  • 舍友:我瞅瞅
  • 舍友:這也太長了吧,技術要點這麼多嗎?
  • 我:對啊,我看到招聘軟體上,就是寫這麼多技術要點?真的有大佬這麼牛嗎?

在這期間,我也自己在看javaSE的基礎教程,發現和C#有點像啊這個語法?吃驚!

開始實訓

時光飛快,我來到了大二的下學期,那時候剛學完WebApi和Vue,終於有點前後端的感覺了(第一次體驗到前後端分離),在我們學院,大二的暑假是不放假的,在學校用兩個月做實訓,模擬企業開發,分組分工,大家一起做一個項目。
在分完組的時候,我就想:多分幾個技術比較厲害的同學給我哈哈,我們做酷一點! 老師還是按平均水平給我們分好了,不好不壞。第一個項目是blog,一開始老師說是簡單的完成功能就可以了,我心想:那不是很簡單嗎?
後來發現兩周的時間,還是趕得半死才做出來!
從資料庫建模,確認表關係、到前端頁面的原型、頁面的效果配色、後臺的框架的搭建(.Net6 WebApi + EfCore + JWT +非常簡單的借鑒DDD的分層概念)第一次感覺到團隊的溝通協作和項目是如何從一堆報錯到另外一堆報錯的哈哈

兩周的時間還是太短了,至少對於我這種第一次上路的新手司機,最後也是匆匆忙忙,直到驗收會的前十分鐘,還是修改部署到雲伺服器上。也是第一次感覺這麼緊張且激動!

然後就是開始了第二個練手項目:教務系統,比第一個項目難度高了一個等級,就單純表的確定,就討論了兩天,還是初步模型,後來改了N次 以及確定使用無顯示外鍵這種關係。由於涉及到排課,我們還想著如果併發了,應該要加上鎖的情況。還有如何更好的借鑒一下DDD這個思想。後端要用上什麼新的技術,可以更好的性能。前端要小程式和網頁版,區分教師和學生....
在第二個項目寫的時候,就有一種感覺,都是CRUD,怎麼有這麼多花樣,這麼多玩法呢?

實習

很快到了八月底,我開始了投簡歷的時候,一共投了幾十家,由於學歷的問題也被拒絕了幾次,給我整的有點灰心,也拿到了三個面試的機會

  • 某蘇州軟體公司,人員在200人左右,主要使用WinForm -失敗
  • 目標城市軟體開發公司,人員在50人左右,.Net6等比較新的技術 -通過
  • 目標城市軟體開發公司 人員在300人左右,主要使用WinForm -通過

在九月我就來到了目標城市準備入職啦,我記憶非常深刻的是:在和我同時入職的兩個人,一個是軟體測試主管,一個是八年的前端工程師。

  • 我:大哥,你們都是入職什麼崗位呀?
  • 前端工程師:我做前端的。
  • 前端工程師: 你是實習生嗎?看起來挺小的。
  • 我:對,我是.Net實習生。
  • 前端工程師:現在還有在做.Net的實習呀,我都沒聽過幾個了哈哈
  • 我:.....

在入職之後,我才發現了,就我一個獨苗.Net實習生,其他實習生都是做Java方向的。主要的維護以前的老項目。用的是WinForm 等技術。

再看Java

萌生了離職的想法,因為剛入職嘛,第三天就跑路了,主要是個人原因不是很能接受WinForm ,可能是我覺得他比較老舊了吧,和我想要的不一樣哈哈(再次求輕點噴),後來入職了那家50人左右的公司,不捲不加班,大家人都很友好,技術方面也是比較前沿的,完美符合了我的要求!!

然後在工作的時候,就發現了,.Net太優雅了,對比Java,擁有太多語法糖,寫起來很舒服。但也是因為微軟幫我們做了太多的事情,反而讓我們不知道底層原理,設計模式等。

我深知一門優秀的語言應該是易用易學,好上手的,這點上C#完勝!宇宙最強的IDE,一站式幫你配置好了!

反觀Java,在環境變數配置,IDE的選擇等等,就會勸退一些小白(我一開始也不知道怎麼配置環境變數)。

但在我的想法中,也許底層原理,設計模式這些,作為一個程式員應該懂,然後再去使用這些語法糖,知其然又知其所以然!

我開始在博客園中大量的搜索關鍵詞 .Net轉java 發現了很多這樣子的文章。也看到對立,引戰的發生!這點讓我寫一篇文章十分害怕哈哈,再次聲明,我只是分享我的一些經歷!

我看到了自由飛大佬的文章,其實也發現了學校選技術的用意,java的競爭太過於激烈,而C#和Java相近,市場也有需求。先就業再擇業,先入行再選擇!

至此,我明白了當時老胡說的意思:不要糾結於語言,主要是編程思想和學習方法。

總結

現在我也仍然在學習.Net 和java。在工作上使用的是.Net ,回來看的視頻教程是Java,我想通過java來更深入的瞭解一些底層一點的機制,學習更新的技術。也是因為java的教程確實比.Net更加豐富,生態會更好一點,不可否認!
但我依然喜愛這C#這門十分優雅的語言,喜歡它無處不在的語法糖!在工作上也仍然會繼續深入研究它!
最後,也告訴自己:不要糾結於語言,主要是編程思想和學習方法。

本文來自博客園,作者:小方同學在學習,轉載請註明原文鏈接:https://www.cnblogs.com/xiaofangcode/p/16871193.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、開發文檔 微信開發文檔:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1 安全規範:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3 1、簽名演算法 (簽 ...
  • 簡介: 命令模式,又稱之為動作模式或者事務模式,屬於行為型的設計模式。 將不同的請求封裝成不同的請求對象,以便使用不同的請求; 角色都會用飯館來舉例子: 命令下達者:顧客 命令接受者:服務員 命令本身: 菜單 命令執行者:廚師 適用場景: Laravel的事件調度機制有用到了命令模式。 想要解耦服務 ...
  • Java 基礎一 【註釋】 comment 對代碼進行解釋說明1.Java規範的註釋有3種單行註釋://多行註釋:/* */文檔註釋(java特有)2.單行註釋和多行註釋的作用:對所寫的程式進行解釋說明,增強可讀性。方便自己,方便別人。可以調試所寫的代碼3.特點單行註釋和多行註釋,註釋了的內容不參與 ...
  • RPC(Remote Procedure Call) 是 Hadoop 服務通信的關鍵庫,支撐上層分散式環境下複雜的進程間(Inter-Process Communication, IPC)通信邏輯,是分散式系統的基礎。允許運行於一臺電腦上的程式像調用本地方法一樣,調用另一臺電腦的子程式。由於 ...
  • 作為緩存系列專欄的第四篇文章,我們將在上一篇的基礎之上進行升華,一起思考如何構建一個完整且通用的本地緩存框架,併在過程中體會緩存實現的關鍵點與架構設計的思路。 ...
  • 2022年11月8日.NET 7正式發佈 .NET仍然是最快、最受歡迎、最值得信賴的平臺之一,其龐大的.NET軟體包生態系統包括33萬多個軟體包。 .NET 7為您的應用程式帶來了更高的性能和C# 11/F# 7、.NET MAUI、ASP.NET Core/Blazor、Web APIs、WinF ...
  • 一:背景 1.講故事 有朋友咨詢個問題,他每次在調試 WinDbg 的時候,進程初始化斷點之前都會有一些 dll 載入到進程中,比如下麵這樣: Microsoft (R) Windows Debugger Version 10.0.25200.1003 X86 Copyright (c) Micro ...
  • 依賴管理是 NuGet 的核心功能。Nuget管理單個項目的依賴關係很容易。管理多項目解決方案的依賴關係可能會變得很困難,因為它們的規模和複雜性開始擴大。 在您管理許多不同項目的公共依賴項的情況下,您可以利用 NuGet 的中央包管理功能從一個位置輕鬆完成所有這些工作。 要開始使用中央包管理,您可以 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...