学生需要你的建议.. !! [英] Student Needs Your Suggestion.. !!

查看:79
本文介绍了学生需要你的建议.. !!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经通过了上一学期编程简介的课程,现在我已经参加了面向对象编程课程。



其实我想学习C#(也是java)



你说的是什么C#和C#编程..?

去年我的大学组织了一个关于编程的比赛,来自不同大学的学生参加了比赛,但当时这些组正在忙着解决问题我注意到那些用C#编程的人在各个方面都比C ++程序员好一点。



在我的大学计算机科学专业的学生们只需要用C ++。 。 。 :/



我正在等待你的建议也请在C#上推荐一些自学书。

Well I''ve passed the course Introduction To Programming in the last semester, now i am enrolled in the course Object Oriented Programming.

Actually i want to learn C# (also java)

What You Say About C# And Programming in C# .. ?
Last year a competition on programming is organized by my university where the students from different universities participated, but at that point when the groups are busy to solve the problems i note that those who program in C# is a little bit better in all aspects then C++ coders.

In My University computer sciences students just hands on C++ . . . :/

I keenly Awaiting Your Suggestions Also Please Recommend Some Self Studying Books On C#..

推荐答案

C ++是一个很好的起点。 .NET限制了你对Windows系统的编程能力(以及任何可以运行Mono的东西,但有些东西需要学习)。 C ++为编程提供了一个很好的基础,你可以转移到C#,Java等。就我个人而言,我的学校用C ++教授一切,我现在是一名专业的.NET程序员。我不会想要任何其他方式,因为我仍然可以用C ++编程,我知道编写优化代码以及如何关注内存和对象生命周期。



BTW,我上面的解决方案有几个不正确的陈述...



Native编译代码,.NET不是不是一个真实的陈述......



我会建议海报查看.NET运行时JIT的方式码。抖动是本机代码,并且已经在一些(许多)方面得到证明,可以在类似的任务中执行C ++。这很难理解,但网上有很多研究给予硬数据支持。



C#依赖于.NET框架



你可以在Mono上进行交叉编译(技术上不是.NET框架)。 C#是一种开放的标准语言,.NET是微软对该EMCA标准的解释,Mono是对它的另一种解释。因为C#(如C ++)基于标准(EMCA for C#,ANSI for C ++),所以如果您不使用平台相关代码,它可以进行交叉编译。



C#最适合小型应用程序的快速开发...不适合非常大的应用程序(公平地说,他以我认为为前缀



我不同意。我已经用C#编写了一个软件包,它有超过100万行代码,这是C ++中另一个软件包重新编写的功能。我们之所以选择C#是因为它真的是一个快速的应用程序开发语言和我们的测试已经证明C#版本以更低的内存成本和更高的吞吐量执行相同的功能。



他底部的小报价会排除他在我的公司工作,如果这是他的简历中的标记行。特别是对于正在学习或刚刚进入开发的人,这可能是一个危险的陈述。我可以编写高度稳定和非常快速的代码世界上有5个人可以理解。或者我可以编写相同的高度稳定和非常快速的代码,几乎每个程序员应该能够理解。如果您只关心性能和稳定性而忽略可维护性(这是衡量 SOMEBODY ELSE 维护代码的容易程度的标准),那么您只需要完成50%的工作。另外50%的工作是让你的代码在将来很容易使用,当你还没有解释你在想什么时。



祝你好运在学校里,坚持使用C ++并在自己的时间学习C#。我建议你在获得C ++作业时首先用C ++编写,然后在C#和VB中尝试它们,如果你想比较实现并提高你的解释技巧。此外,一旦你进入更高级的课程,你的老师就会更少关心你写的语言,更多关心软件的输出和方法。
C++ is a great place to start. .NET limits your programming abilities to Windows systems (and anything that can run Mono, but there are idiosyncrasies to learn). C++ gives you a great foundation for programming that you can transfer to C#, Java, etc. Personally my school taught everything in C++ and I''m now a professional .NET programmer. I wouldn''t have wanted it any other way, since I can still program in C++ and I know about writing optimized code and how to pay attention to memory and object lifetimes.

BTW, the solution above me has a couple statements that are incorrect...

"Native code is compiled and .NET is not" is not a true statement...

I would suggest that the poster looks up how the .NET runtime JIT''s code. The jitter is native code and has been proven in some (many) aspects to out perform C++ at similar tasks. It''s difficult to comprehend, but there are a lot of studies on the net giving hard data to support that.

"C# relies on the .NET framework"

You can cross-compile on Mono (which is technically not the .NET framework). C# is an open standard language, .NET is Microsoft''s interpretation of that EMCA standard, Mono is another interpretation of it. Because C# (like C++) is based on a standard (EMCA for C#, ANSI for C++), it can be cross-compiled provided you are not using platform dependent code.

"C# is best for rapid development of small apps ... not suitable for very large apps" (to be fair, he prefixed that with "I think"

I would disagree. I''ve written a software package in C# that has over 1 million lines of code which is a feature expanded re-write of another software package in C++. We chose C# because it is truly a "rapid application development" language and our tests have proven that the C# version performs the same functions at a lower memory cost and higher throughput.

And his little quote at the bottom would exclude him from a job at my company if that was his tag line in his resume. Especially for somebody who is learning or just getting into development that can be a dangerous statement. I can write highly stable and very fast code that about 5 people in the world could understand. Or I could write the same highly stable and very fast code that just about every programmer should be able to understand. If you only care about performance and stability and neglect maintainability (which is a measure of how easy it is for SOMEBODY ELSE to maintain your code), then you are only doing 50% of your job. The other 50% of your job is making your code easy to work with in the future when you''re not around to explain what you were thinking.

Good luck in school, stick with C++ and learn C# in your own time. I would suggest that when you get C++ assignments you do them in C++ first, then try them in C# and VB if you want to compare implementation and sharpen your interpretation skills. Also, once you get into your more advanced classes your teachers will care less about what language you write in and more about the output and method of your software.


你将获得偏振的观点在这里,我应该通过C#的10年经验和1年(非专业)C ++的过滤器。

每个都有它们的优点和缺点作为起点:



C#相对简单,指针和垃圾收集都不是问题(我必须少量使用指针)因此可能是一个很好的起点。与c ++相比,这也是一个缺点,因为你离处理器更远,所以你会更少了解机器的实际工作方式,这是我发现的宝贵价值。



C#体验更直接地转换为Java。但是从c#(或Java)过渡到c ++比从c ++到c#(或Java)更难。



C#背后有一个很大的框架,不知道是什么游戏状态是用c ++。这也隐藏了实现的复杂性,所以你不会看到发生了什么,因此学得更少。



C#主要与微软有关(虽然它可以成为Java的垫脚石,但只是选择Java可能是一种选择。)



我发现我可以通过c#实现更快,更快这与框架和相对简单性有关(这可能是为什么c#人看起来比c ++好,为他们做了很多)。如果我需要的东西真的依赖于速度或巨大的可扩展性,我会选择c ++。





我们主要使用c ++大学,我很高兴我们做到了,它让我对机器的工作有了更深入的了解,现在仍然有用。在你的位置我会继续使用c ++,但是在C#中开发辅助项目,你可以获得更多的不同语言(和语言范例)的曝光度。在更愤世嫉俗的层面上,您可以随时根据您所在地区的就业市场进行选择。
You are going to get polarised views here, mine should be passed through the filter of 10ish years experience of C#, and 1 year of (non-professional) C++.
Each have their pros and cons as a start point:

C# Relatively simple, pointers and garbage collection are''t much of an issue (I''ve had to use pointers a handful of times) and therefore may make a good starting point. This is also drawback compared to c++ as you are further away from the processor, so you''ll learn less how the machine actually works which I found invaluable.

C# experience translates more directly into Java. But transitioning to c++ from c# (or Java) is harder than from c++ to c# (or Java).

C# has a big framework behind it, not sure what the state of play is with c++. This also hides the complexity of the implenentation, so you don''t get to see what is going on and therefore learn less.

C# is largely tied to microsoft (though it can be a stepping stone to Java, though just going for Java might be an option).

I found I could achieve more, more quickly with c# but mostly this is to do with the framework and relative simplicity (this is probably why the c# people look better than the c++, a lot is done for them ). If I needed something that really relied on speed or huge scalability, I''d opt for c++.


We principally used c++ at university and I''m glad we did, it gave me a much greater insight into the workings of the machine which is still useful now. In your position I''d continue to use c++, but develop side projects in C#, the more exposure you can get to different languages (and language paradigms) you can get the better. On a more cynical level you can always choose according to the jobs market in your area.


Quote:

我注意到那些用C#编程的人在各方面都要好一点

i note that those who program in C# is a little bit better in all aspects



真的...你不应该注意到这一点,因为那里有这样的东西通知。这是C#与C ++的问题。



就个人而言,我认为C ++比C#计算更多(换句话说,水平低,而且确实如此)。 C#的语法可能比c ++更容易理解。 C#依赖于.NET框架。



所以这是另一个.NET vs Native代码问题。

编译本机代码而.NET不编译。

所以它是另一个Compiled vs Interpreted ...



我认为C#是小应用程序快速开发的最佳选择,并不适合非常大的应用程序C ++很酷,但使用C#做同样的工作可能需要两倍的时间。



我关心的是2件事编程;性能和稳定性


这篇关于学生需要你的建议.. !!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆