![]() |
1
6
我已经知道C了,这在1.1天的时间里对我有所帮助,在1.1天的时间里,.NET基本库中还存在很多东西,我必须从Platform SDK中P/Invoke一些东西。 我的看法是,我们应该分配一段时间来学习我们还不知道的东西。为了回答你的问题,我认为学习C对你来说并不重要,但是如果你有时间的话,C是一种好的学习语言,和其他语言一样有效。 |
![]() |
2
35
你当然应该。过度专业化和专心致志(相应地,拥有有限的市场技能)的最好方法是只使用单一类型的语言,而将所有其他语言视为“与当前任务无关”。 每一个程序员都应该有一个现代JIT OO语言(C.A/JAVA)的经验,一个较低层次的简单语言(C,FORTRAN等),一个非常高级的解释语言(Python,Ruby等)和一个函数语言(方案,Lisp,Haskell等)。即使你不是每天都使用它们,扩展你的思维过程,使之成为知识的赠款也是非常有用的。 |
![]() |
3
5
是的,C在链条下面。了解MSIL可以帮助开发人员更好地了解如何优化他们的应用程序。至于学习C或MSIL,为什么不同时学习?:) |
![]() |
4
4
.NET开发人员应该了解clr。但他们也应该学习C。我不明白,如果没有对裸金属上发生的事情的一些低级理解,任何人都无法真正理解CLR是如何工作的。 花时间学习更高层次的概念当然是有益的,但是如果你花太多精力在高层次上,而牺牲了低层次,你就有可能成为一个“架构师”的人,他们可以在白板上画出框和线,但却无法编写任何实际的代码。 通过学习C所学到的东西将对你的职业生涯的其余部分有用。随着微软改变他们的平台,你对clr的了解将变得过时。 |
![]() |
5
3
我认为学习一些编译语言和汇编是 必须 . 如果没有这一点,您将无法获得在语言和堆栈之间切换所需的多功能性。 更具体地说,我认为任何好的/伟大的程序员都必须通过直接的经验来了解这些事情:
了解这些是与你的系统一起工作的区别 理解 还有一个系统,据你所知,是靠魔法运作的。:) 提出一些意见 最终会有两种不同类型的开发人员:
我强烈认为第二组总体上是更好的开发人员。 |
![]() |
6
3
我这样想:
|
![]() |
7
3
为了在写作C方面有足够的进步,你需要理解C中的概念,即使你没有正确地学习语言。 不过,一般来说,如果你认真考虑 任何 技能,您应该知道在低于您的主要工作级别的至少一个抽象级别上发生了什么。
|
![]() |
8
2
我喜欢每年学习一门新语言。不一定要掌握它,而是强迫我的大脑以不同的方式思考。 我觉得学习C是一种很好的语言,可以学习低层次的概念,而不需要在汇编中编写代码。 然而,我觉得从诸如haskell、python甚至可以说是regex(不完全是一种语言,但你明白我的意思吗?)与从C中吸取的教训一样重要。 所以我说,如果这是你的工作领域,那就学习一下工作中的clr和msil,在你的业余时间,试着每隔一段时间学习一种不同的语言。如果今年正好是C,那对你有好处,并且喜欢玩指点球;) |
![]() |
9
2
我看不出他们为什么要这样做。像Java和C语言这样的语言是为了不必担心低级细节而设计的。这与询问WinForms开发人员是否应该花时间学习win32 api相同,因为这就是下面发生的事情。 虽然学习它不会造成伤害,但是如果不需要学习低级的技术细节,花更多的时间学习您熟悉的语言和平台,您可能会获得更多。 |
![]() |
10
1
学习MSIL并不是一个坏主意,但在某种程度上,它只是另一种.NET语言,但语法很糟糕。不过,这是另一层,我认为人们至少应该对所有层有一些模糊的理解。 C语言有点像汇编语言,语法更好,这是一个很好的方法来了解在相当低的层次上发生的事情(尽管有些事情仍然对您隐藏)。 从另一方面来说,我认为每个人都应该知道一些像haskell或lisp这样的东西,以获得更高层次的东西的想法(并看到一些想法以更干净的形式在c 3中被引入) |
![]() |
11
1
如果你认为自己是程序员,我会说是的,学习C。 许多编写代码的人并不认为自己是程序员。我一天工作大概3个小时就写.NET应用程序,但我并没有给自己贴上“程序员”的标签,我做了很多与编程无关的事情。 如果你花了一整天的时间来编程或者思考编程,而你的整个职业生涯都围绕着编程展开,那么你最好确定你了解你的东西。学习C很可能有助于建立一个知识基础,如果你要深入学习编程技能的话,这将是很有帮助的。 凡事都有权衡。你学习的语言越多,花在技术上的时间越多,你学习其他技能的时间就越少。例如,学习C或阅读有关项目管理的书籍会更好吗?这取决于你的目标。你想成为最好的程序员吗?学习C。花几个小时写代码,全身心地投入到这个过程中。你想管理别人而不是整天编码吗?利用你花在编程上的时间,找到提高你的软技能的方法。 |
![]() |
12
1
.NET开发人员应该学习C吗?我会说“不一定”,但我们应该总是在我们的专业领域之外涉猎一些语言,因为每种语言都会带来一种新的思考问题的方式。在我的职业生涯中,作为.NET(在那之前,VB2-6)开发人员,我在PASCAL、LISP、C、C++、PHP、JavaScript、Ruby和Python和AM中写了小项目,目前正在Lua和Perl中涉猎。 除了C++之外,我不会在简历中列出任何一个,因为我不想成为其中任何一个的专业人士。相反,我从他们每个人那里带回有趣的想法,用在我基于.NET的工作中。 C的有趣之处在于它确实能让你接近操作系统,但这并不是你成为一名优秀程序员所需要知道的唯一一个层次。 |
![]() |
13
0
这个 CLR 是一个 事实上的 如果这就是你所学的,那么你只知道在虚拟层面上发生了什么。 学习 C 会教你更多关于 身体的 机器就内存使用而言,正如您提到的,这是clr在下面使用的。学习clr是如何工作的,并不能像学习c那样让你深入了解垃圾收集。 真的? 了解内存管理所涉及的内容。 学习 CIL 另一方面,在.NET中对执行的了解要比通过学习 C . 然而,如何 IL 地图到机器语言在很大程度上仍然是一个谜,所以了解一些高级操作码,比如铸造类型的操作码,对于理解真正发生的事情没有帮助,因为它们在很大程度上是不透明的。学习 C 然而,指针会在这些方面启发你。 |
![]() |
14
0
问题是学习C还是MSIL,还是更基本?我想说,一般来说,更多的开发人员可以站起来了解更多关于 计算机 物理或虚拟,工作。一个人只有在一个盒子里理解一种语言和API,才能成为一个相当有能力的程序员。为了将这个职业提升到下一个层次,我觉得开发人员真的需要了解整个堆栈。不一定要详细,但要有足够的概括性来帮助解决问题。 这里讨论的很多技巧可以通过学习更多关于编译器和语言设计的知识来获得。您可能需要学习C才能做到这一点(哎呀,鬼鬼祟祟),但编译器编写是学习C的一个很好的环境。斯蒂夫·雅吉 talks about this 在他的博客上,我基本上同意他的观点。我在大学里的编译器写作课程是我所修过的最开眼的课程之一,我真希望它是一门200级的课程,而不是400级的课程。 |
![]() |
15
0
我把这个贴在另一条线上,但它适用于: 我相信你需要一个良好的基础,但投入你的大部分时间来学习你将使用什么。
|
![]() |
Nicola · C++CLI项目中非托管数据上的C#指针 7 年前 |
![]() |
Anton Savelyev · 在发布版本中删除类指针会导致内存问题 7 年前 |
![]() |
shmnff · 显式转换int到SqlInt32 7 年前 |
![]() |
Alex12 · windows窗体中的C++if语句[关闭] 7 年前 |
![]() |
Claude Tan · 类型定义和类型引用之间有什么区别? 7 年前 |