我应该先学习什么编程? Java或C# [英] What programming should i learn first? Java or C#

查看:63
本文介绍了我应该先学习什么编程? Java或C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是一名php程序员,既没有java也没有c#(sharp)的编程经验。我的目标是学习java和c#两种语言,所以我正在寻找一位经验丰富的程序员,他对两种语言都有深入的了解,建议我先从哪一个开始,以便让我的学习过程更轻松,并帮助我快速掌握第二语言,一旦我完成了第一语言。 (例如,有些人在他们首先学习困难的语言或者具有更多功能和编程方面的语言时会发现它更容易,所以一旦他们通过并且他们开始第二个他们发现学习过程就像在公园散步一样)

Hi, i am a php programmer who has no previous programming experience neither in java nor in c#(sharp). My goal is to learn both languages java and c#, so i am looking for an experienced programmer who has in depth knowledge of both languages to suggest me which one to start first in order to make my learning process easier and to help me grasp fast on the second language once i have finished learning the first. (e.g some people find it easier when they learn the difficult language first or the one that has more features and programming aspects so once they are through and they start the second one they find the learning process like walking in the park)

推荐答案

我从未使用过C#所以我真的没有在你的问题中找到工作描述...但我的理解是Java和C#之间的差异远小于Java和C ++之间的差异。


一瞥特征 维基百科中的列表表明C#可能更精细(带有内存地址支持和属性)。但最重要的是它是如何像Java一样。


我想你知道Java被提升为在任何地方运行一次写入。暂且不谈这种特征从技术描述/目标转变为营销口号的方式,语言非常便携:根据你想要做的事情,这可能是一种恩惠或痛苦。无论您是否想要在各种平台上运行代码,以及您需要依赖Windows特定API的程度,都可能对您的选择产生更大的影响,而不是语言差异。


也许你应该Hello world!同时!对于Java,开始的地方是 Sun''教程,从如何下载相关软件开始,然后通过非常全面的语言调查。
I''ve never used C# so I don''t really meet the job description in your question... However my understanding is that the differences between Java and C# are much smaller than say between Java and C++.

A glance at the "features" list at Wikipedia suggests that C# might be the more elaborate (with memory address support and properties). But what mostly stands out is how Java-like it is.

I guess you''re aware that Java is promoted as "write once run anywhere". Leaving aside the way that this characterisation has morphed from being a technical description/aim to a marketing slogan, the language is hugely portable: which can be a boon or a pain depending on what you''re trying to do. Whether or not you want to run your code on a variety of platforms and on how much you need to depend on Windows specific APIs might have more bearing on your choice than language distinctions.

Perhaps you should "Hello world!" in both! For Java the place to start is Sun''s Tutorial which begins with how to download the relevant software and proceeds through an extremely comprehensive survey of the language.


这两种语言都非常强大。

我开始学习c / c ++并转向Java。当Java工作的东西花了很长时间才能在c / c ++中工作时,我爱上了Java。


Java有一个很棒的类框架,可以用来为许多不同的环境(网站,Web服务,桌面应用程序,服务......等)开发一些非常强大的应用程序。


Java的文档非常棒。


Java API已有详细记录,Java甚至还带有帮助您生成良好的工具你自己的API的文档。


我无法克服Java使用的简单程度以及一切正常工作(垃圾收集!)。

关于Java的另一个非常好的事情是它与平台无关。这意味着它可以在Windows或Linux中运行......这非常有用,因为大多数学校项目都希望您开发独立于平台的应用程序(相信我这是c / c ++的真正痛苦)。


可悲的是,我多年来都没有使用过Java。我有点想念它,我正在考虑在业余时间学习它,这样我就不会完全忘记它的一切。


我是一个。 .NET开发人员。

C#是我的域名的一部分:)

C#使用.NET框架,我不得不说它可能比Java框架更强大。 ...


但是...... .NET框架仅在Windows操作系统中可用。 (有很多东西可以帮助将.NET移植到其他操作系统,但这些系统是有限的。)


因此,需要考虑的一个问题是:你想成为一个吗? Windows开发人员?

.NET框架和C#的文档和资源一般都很丰富。 MSDN库比Sun提供的Java API更令人印象深刻。还有一些工具(最近开发的)可以为您的代码生成良好的文档。


我喜欢.NET但Java也很棒。



对我来说,你学习哪种语言并不重要,只要你对编程概念有一个具体的理解......从那里它只是语法并弄清楚是什么framework(java / .net)为您提供工具/控件/类的方式,让您作为开发人员更轻松。


-Frinny
Both languages are really powerful.

I started learning c/c++ and the moved to Java. I fell in love with Java when things just worked in Java that took forever to get to work in c/c++.

Java has a great framework of classes that you can use to develop some very powerful applications for many different environments (websites, web services, desktop applications, services....etc etc).

The documentation for Java is amazing.

The Java API is well documented and Java even comes with tools that help you to generate good documentation for your own API.

I couldn''t get over how easy Java was to use and how nicely everything just worked (garbage collection!).

The other really nice thing about Java is that it''s platform independent. This means that it can run in Windows or Linux...which is really helpful because most school projects want you to develop applications that are platform independent (trust me this is a real pain in c/c++).

Sadly, I haven''t used Java in years. I sort of miss it actually and I''m thinking about trying to learn it in my spare time so that I don''t completely forget everything about it.

I am a .NET developer.
C# is part of my domain :)
C# uses the .NET framework which I have to say is probably a lot more powerful than the Java framework.....

BUT...the .NET framework is only available in the Windows operating system. (Well there are things like mono to help port .NET to other operating systems but these systems are limited).

So, one question to consider would be: do you want to be a Windows developer?

The documentation and resources for the .NET framework and for C# in general is bountiful. The MSDN library is even more impressive than the Java API supplied by Sun. And there are tools (recently developed) that let you generate good documentation for your code as well.

I love .NET but Java is also awesome.


To me, it doesn''t really matter which language you learn, so long as you have a concrete understanding of programming concepts...from there it''s just syntax and figuring out what the framework (java/.net) offers you in the way of tools/controls/classes to make things easier for you as a developer.

-Frinny


我开始的方式相反。我学习了Java然后转向了C / C ++。这有时非常具有挑战性和困难,但我喜欢它给我提供的力量。我觉得我更接近硬件,感觉我实际上正在做一些黑客攻击而不是只是调用API目录。当您使用像C / C ++这样的语言时,它会教您如何精确,勤奋和谨慎。在开始写作之前,你实际上需要考虑你要写的内容。 Java和C#更宽容。有人会说,让你变得更草率。


Java由Sun支持,而C#支持我的微软。微软已经确保C#是他们的主要语言(但是可能会被F#取代,但还不确定)。 Java几乎可以在所有平台上使用Sun的JDK / JRE。 C#适用于Microsoft平台,在开源社区中为.net Framework的部分提供了一些支持,这些部分已经进行了逆向工程。


Java和C#都享有庞大的用户群,可以用于应用程序和Web开发。两者都有单元测试框架,都有工具来帮助您记录代码。


Java SDK是免费的,C#SDK随Visual Studio一起提供。除非您对快速版本感到满意,否则Visual Studio需要花钱。


您可以在大多数平台上开发Java。您需要在Windows机器上开发C#。


大多数移动设备都支持Java。它也是Android不可或缺的一部分。 C#仅支持Windows Mobile智能手机。


C#允许您使用p\invoke之类的东西访问(强大的)低级系统调用,我不认为Java让你做到了。


Bytecode可以比MSIL更容易进行逆向工程。 C#还附带了一个混淆实用程序,使您的代码更难以进行逆向工程。


如果您学习Java,您将对C#有一个好主意。反过来也是如此。


XBOX和XNA支持C#。 Java有一个java游戏库但不能在任何控制台上使用。


嗯......还有什么?好吧,我真的不能想到更多的问题。当我发生更多事情时,我会更新此信息。
I started out the opposite way. I learned Java then moved to C/C++. It was very challenging and difficult at times but I liked the power it afforded me. I felt closer to the hardware and felt like I was actually doing some hacking instead of just calling a catalog of APIs. When you use a language like C/C++ it teaches you how to be precise and diligent and careful. You actually need to think about what you are going to write before you start writing. Java and C# are more forgiving. Some would say, allows you to be more sloppy.

Java is backed by Sun while C# is backed my Microsoft. Microsoft has made sure that C# is their principal language (however that may be superseded by F#, not sure on that yet). Java works on almost all platforms using the JDK/JRE from Sun. C# works on Microsoft platforms, with some support in the opensource community for the parts of the .net Framework that have been reverse engineered.

Both Java and C# enjoy large user bases, can be used for both application and web development. Both have unit testing frameworks, both have tools to help you document your code.

A Java SDK is free, a C# SDK comes with Visual Studio. Visual Studio costs money, unless you are happy with an express version.

You can develop Java on most any platform. You need to develop C# on a Windows machine.

Java is supported on most mobile devices. It is also an integral part of Android. C# is only supported on Windows Mobile smart phones.

C# allows you to access (powerful) lower level system calls using things like p\invoke, I don''t think Java lets you do that.

Bytecode can be reverse engineered easier than MSIL. C# also comes with an obfuscation utility to make your code even harder to reverse engineer.

If you learn Java you will already have a good idea about C#. The other way around is true as well.

C# is supported by XBOX with XNA. Java has a java games library but can''t be used on any console.

Hmm... what else? Well, I can''t really think of more off the top of my head. I''ll update this when more things occur to me.


这篇关于我应该先学习什么编程? Java或C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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