關於.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
  • 1、預覽地址:http://139.155.137.144:9012 2、qq群:801913255 一、前言 隨著網路的發展,企業對於信息系統數據的保密工作愈發重視,不同身份、角色對於數據的訪問許可權都應該大相徑庭。 列如 1、不同登錄人員對一個數據列表的可見度是不一樣的,如數據列、數據行、數據按鈕 ...
  • 前言 上一篇文章寫瞭如何使用RabbitMQ做個簡單的發送郵件項目,然後評論也是比較多,也是準備去學習一下如何確保RabbitMQ的消息可靠性,但是由於時間原因,先來說說設計模式中的簡單工廠模式吧! 在瞭解簡單工廠模式之前,我們要知道C#是一款面向對象的高級程式語言。它有3大特性,封裝、繼承、多態。 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 介紹 Nodify是一個WPF基於節點的編輯器控制項,其中包含一系列節點、連接和連接器組件,旨在簡化構建基於節點的工具的過程 ...
  • 創建一個webapi項目做測試使用。 創建新控制器,搭建一個基礎框架,包括獲取當天日期、wiki的請求地址等 創建一個Http請求幫助類以及方法,用於獲取指定URL的信息 使用http請求訪問指定url,先運行一下,看看返回的內容。內容如圖右邊所示,實際上是一個Json數據。我們主要解析 大事記 部 ...
  • 最近在不少自媒體上看到有關.NET與C#的資訊與評價,感覺大家對.NET與C#還是不太瞭解,尤其是對2016年6月發佈的跨平臺.NET Core 1.0,更是知之甚少。在考慮一番之後,還是決定寫點東西總結一下,也回顧一下.NET的發展歷史。 首先,你沒看錯,.NET是跨平臺的,可以在Windows、 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 添加節點(nodes) 通過上一篇我們已經創建好了編輯器實例現在我們為編輯器添加一個節點 添加model和viewmode ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...
  • 類型檢查和轉換:當你需要檢查對象是否為特定類型,並且希望在同一時間內將其轉換為那個類型時,模式匹配提供了一種更簡潔的方式來完成這一任務,避免了使用傳統的as和is操作符後還需要進行額外的null檢查。 複雜條件邏輯:在處理複雜的條件邏輯時,特別是涉及到多個條件和類型的情況下,使用模式匹配可以使代碼更 ...
  • 在日常開發中,我們經常需要和文件打交道,特別是桌面開發,有時候就會需要載入大批量的文件,而且可能還會存在部分文件缺失的情況,那麼如何才能快速的判斷文件是否存在呢?如果處理不當的,且文件數量比較多的時候,可能會造成卡頓等情況,進而影響程式的使用體驗。今天就以一個簡單的小例子,簡述兩種不同的判斷文件是否... ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...