首页 新闻 会员 周边 捐助

数专转码求助!求各位老师指点!

0
悬赏园豆:50 [待解决问题] 浏览: 126次

背景:

26毕业,双非数学专业本科,本科课程里学过 C基础、Python基础、C#面向对象、数据结构、算法导论、数据库技术(SqlServer) 等课程,自觉在数学上天赋不足,而且相比数学对计算机技术更感兴趣,遂决定转码。

当前已经学习的内容:

- 后端开发技能:C# (语言基础、面向对象、继承接口设计、WinForm) 、JAVA 基础
- 数据库管理:MySql 、 SqlServer 基础
- 流程控制:Git 版本管理

目前的困难:

  1. 小城市,C# 相关实习不好找
  2. 大家都在劝转 Java 但是我更喜欢使用 C# :
    • 相比 JAVA 更想做 C#
      • JAVA 好卷,有点被吓到
      • C# 在舒适圈,相比继续学 JAVA 然后卷Java技术更有信心点(虽然没学啥吧)
    • 更喜欢用 C#
      • 一是因为微软文档做得很好,查的很舒心
      • 二是因为毕竟还在上学,直接咨询老师可能会更方便
      • 三是因为最近一直在看 C# 技术分享,觉得干 C# 开发的个个身怀绝技,很酷(目移)
  3. 与科班差距是否过大:
    • 计算机专业应该有系统学过四大件,基础知识方面天生不足
    • 四大件决定的是入行上限还是下限呢?很疑惑
      • 学计算机的都说是只要过一遍就行,主要做项目,疑惑
  4. 缺乏系统的指引:
    • 相比 Java ,发现在国内 C# 的前途确实差的很大
    • 对 C# 相应技术栈缺乏系统了解
      • 身边都是干 Java 的,做 C# 的真的只有写游戏的!

希望得到的解答:

  1. 计算机四大件要学到什么地步呢?
    • 是过一遍然后上项目实操呢?
    • 还是必须要掌握的很好?
    • 亦或者看求职层次?
  2. 基于 C# 语言衍生了哪些方向呢?各方向要学习哪些内容呢?(前景各自如何呢?)
    • 我现在接触到的分类如下:
      • 游戏脚本开发
        • Unity / UE
        • LUA 脚本
        • 数值设计?物理模拟?
      • 上位机
        • C# / WinForm / WPF
        • 串口通信(通讯协议、硬件自动化、PLC)
      • .NET 平台开发全栈
      • 除了这些之外还有什么呢?
  3. 更推荐转 JAVA 吗?
    • 转 JAVA 然后目标是 架构师/技术管理 路线?
    • 还是转 JAVA 先找到工作然后慢慢干全栈?
  4. 如果要坚持做 C# 相关工作,现在需要学什么呢?
    • 与就业方向无关的:
      • 四大件(组成原理/操作系统/计算机网络/数据结构与算法)
      • 设计模式
      • 除了上面这些还有什么呢?
    • 与就业方向有关
      • 多线程 / 异步程序设计 (C#高级)
      • XML
      • ASP.NET
      • WPF 技术 / XAML
      • ADO.NET
      • 除了上面这些还有什么呢?

看了好久博客园了,一直潜水默默收藏,年后大三下必须要开始找实习上手正式开发了,感觉什么都不会,心里忐忑不安,于是于此请求大佬们指点一下!在此拜谢!!

Mag1cWgs的主页 Mag1cWgs | 初学一级 | 园豆:152
提问于:2025-01-15 16:08
< > 人人可用的开源BI工具
分享
所有回答(3)
0

首先,感谢你分享了这么详细的背景信息和思考!在转码的过程中,面对的挑战和困惑是非常正常的,下面我将针对你的问题和情况给出一些建议。

关于计算机四大件

计算机四大件(操作系统、组成原理、计算机网络、数据结构与算法)是计算机科学的基础知识。对于你的情况,以下是一些建议:

  1. 学习深度

    • 过一遍:对于初学者来说,了解这些知识的基本概念和原理是必要的,尤其是数据结构和算法,因为它们在编程和面试中至关重要。
    • 掌握程度:如果你打算进入技术岗位,至少要对数据结构和算法有一定的理解,能够解决一些基础的编程题目。
  2. 求职层次

    • 如果你希望进入大公司或技术要求较高的岗位,深入掌握四大件的知识会对你有帮助。
    • 对于中小型公司,基础知识和项目经验可能更为重要。

C# 语言的方向

C# 作为一门强大的语言,有多个发展方向,你提到的方向都很有潜力,下面是一些具体的建议:

  1. 游戏开发

    • Unity:学习C#在Unity中的应用,了解游戏开发的基本流程。
    • LUA脚本:如果有兴趣,可以接触LUA,很多游戏引擎都支持它。
  2. 桌面应用开发

    • WinForms/WPF:学习桌面应用的开发,WPF在现代桌面应用中越来越流行。
    • 上位机开发:如果对硬件相关的开发感兴趣,可以学习串口通信和PLC。
  3. Web开发

    • ASP.NET:学习ASP.NET Core进行Web应用开发,了解MVC模式和RESTful API。
    • 前端技术:虽然主要做后端,但了解前端技术(如HTML、CSS、JavaScript)会对全栈开发有帮助。
  4. 全栈开发

    • .NET平台:掌握前后端技术,能够独立完成项目。

学习路线

你提到的学习路线是一个不错的起点。除了这些,以下是一些补充建议:

  • 设计模式:了解常用的设计模式,帮助你写出更优雅的代码。
  • 多线程和异步编程:在C#中,了解Task和async/await的使用,能帮助你处理复杂的并发任务。
  • 数据库:深入学习SQL,了解ORM(如Entity Framework)和数据库设计。
  • 版本控制:继续熟悉Git,了解常用的工作流程(如Git Flow)。

关于转Java的建议

  • 转Java的理由:Java在国内的市场需求确实较大,尤其是在企业级应用和大数据领域。如果你觉得Java的学习压力大,可以考虑先在C#上积累经验,再逐渐过渡。
  • 目标设定:如果决定转Java,可以先专注于找工作,然后再逐步学习全栈开发或架构设计。

结论与建议

  • 坚持C#:如果你对C#有热情,可以继续深入学习,尤其是在游戏开发和Web开发领域。C#的生态系统也在不断发展,市场需求也在增加。
  • 实习与项目经验:尽快寻找实习机会,参与实际项目是提升技能和信心的最佳方式。

保持积极的学习态度,逐步积累知识和经验,随着时间的推移,你会发现自己的能力在不断提升。祝你在转码的道路上顺利,未来能找到自己喜欢的工作!

Technologyforgood | 园豆:7840 (大侠五级) | 2025-01-15 16:30
0

c#工控软件得往苏州这块了,我的建议是顺便学下qt,到时候就往桌面软件开发去投,不卷,要慢慢积攒经验。能读研就读研,实习本地不好找就找外地,到时候租房就得了

我才不是老家伙 | 园豆:318 (菜鸟二级) | 2025-01-20 09:45

收到,感谢老师!

支持(0) 反对(0) Mag1cWgs | 园豆:152 (初学一级) | 2025-01-20 17:55
0

相对于c#,感觉java更难,现在岗位更是一对多,内耗严重。
现在java基数是有,但java的项目基本都集中在web端,现在需求没那么大了。互联网方向java未来基本没啥搞头了,
现在论性能比不过go,智能比不过python,
会c#的情况下在工业这块还是其他语言比不了。相对还好点。抽空可以在学学python,和go再补充下知识技能

w0rd | 园豆:463 (菜鸟二级) | 2025-01-25 17:33

收到!感谢!

支持(0) 反对(0) Mag1cWgs | 园豆:152 (初学一级) | 2025-02-02 01:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册
Top