我一直在考虑制作桌面程序,但我没有经验。我以前用PHP,ASP和JavaScript编程。 Java似乎很好,因为你可以在所有操作系统上运行它。但我真正想要的是结果,我真的不在乎什么语言让我成为一名优秀的程序员(我将在大学后期采取这种方式:P)。我之前尝试过C#和Python,但它只是控制台应用程序。
那么,你向我推荐什么编程语言?
答案 0 :(得分:5)
如果你想要Windows结果,C#。如果你想要跨平台的结果,Python。
你也可以随便挑选。或者你可以尝试所有。或者看看关于这个完全相同主题的16万亿个先前的问题。
更新:
为了找到这些问题,我提到了,试试谷歌的乐趣:
"what language" OR "which language" learn site:stackoverflow.com
答案 1 :(得分:4)
我个人的偏见是学习函数式编程(Scala甚至lisp会很好)。但是,说实话,任何语言都可以在这一点上极大地提高你的技能。只需看看一些主流产品,然后选择最适合您的产品。
对于某些想法(不是以任何特定顺序):
老实说,最重要的是,最重要的规则就是享受乐趣。查看基本的“hello world”教程,然后选择一个看起来最令人愉快的教程。学习永远不会伤害。
答案 2 :(得分:3)
我发现用C#/ VB.NET制作桌面应用程序(我强烈推荐前者)可以比其他语言更容易,特别是使用Visual Studio(或免费的Express版本)这样的好IDE或Sharp Develop。当然,它会更容易在Windows上运行(我对Mono + WinForms不太了解),但我认为更容易的转换值得权衡。
答案 3 :(得分:2)
许多人一直在建议使用C,C ++等低级语言,但坦率地说,我不确定这对你的时间是否值得投资。我学到的第一门编程语言是C,来自K& R书,但如果我今天要教我儿子如何编程,我会把他介绍给python或ruby。
python和ruby都是非常富有表现力的复杂语言,易于学习并且具有直观的英语语法。无论如何都要学习结构化编程和较旧的编译语言,但最初你会从高级语言中学习OO概念中获得更多好处。
Java和C#是优秀的语言,但它们与框架紧密结合,您可能会面临学习框架而不是编程基础知识的风险。
答案 4 :(得分:0)
如果您对PHP感到满意,那么Perl会让您感到宾至如归,更好的是,尽情享受。您甚至可以通过CGI转发并使用以前的语言在Web上使用Perl。
如果您正在使用GUI,那么对于其他平台而言,C#是Windows和Java的最佳选择。
答案 5 :(得分:0)
如果你想要结果和GUI而你不关心它是否只是Windows,你可能想要C#。
如果要在不同的平台上运行,可以查看JVM上的任何语言,因为它们都可以访问功能非常强大的GUI工具包。 (Jython,Groovy,Java,...)
答案 6 :(得分:0)
暂不打扰桌面。点击命令行。
获取K& R书并真正学习C.如果您的背景是100%高级(PHP,Python,Ruby,JS)Web开发,您不知道自己错过了多少。
了解基础知识,然后通过进入C#或Objective C来提高标准。
答案 7 :(得分:0)
你可以轻松或努力,快速或缓慢。
很多人都说C#,它很不错,也可以通过单声道在Linux上使用。另一方面,你可以使用C / C ++和Java。你会玩C / C ++,学点东西,成为更好的程序员;但这需要时间。 Java更简单但“有需要”。如果您想要最简单的方法来开发桌面应用程序,可以使用VB或Delphi。 Delphi比VB有一些优点,我不会在这里讨论。
我的建议是,如果你有时间,愿意,只想体验GUI,从低到高,从慢到快,难以轻松。尝试使用汇编程序,了解C / C ++,使用Java,破解C#并浏览思想VB和Delphi。
最后也许你不会创建一个强大的应用程序,但你将为大学做好准备,有经验并且通常“知道”。
答案 8 :(得分:0)
对于具有HTML和Javascript技能的人来说,Adobe AIR可能是最佳选择。 它允许您使用HTML / DHTML创建桌面应用程序,或者如果您熟悉Flex,也可以使用Flex。
答案 9 :(得分:0)
浏览K&R C。学习C,你应该有一个学习其他语言的良好基础。
答案 10 :(得分:0)
我想说Java会很好地介绍桌面应用程序。我对这里提到的其他一些语言没有任何经验。
与其他一些需要数百行代码的语言相比,你可以用Java做一些简单的事情
这取决于您是否已经在Web体验中接触过OO编程
答案 11 :(得分:0)
将VB.NET(不“经典”vb!)视为一种易于入手的高级语言,可以帮助您轻松上手;然后加快C#的速度。这两者是可互换的--VB.NET和C#实际上只是.NET的不同方言。
对于初学者程序员来说,VB.NET为C#做了三件事:
了解.NET的主要功能后,如果您愿意,可以轻松学习C#等效和转换;而且在某些时候你可能会认为VB.NET有点过于繁琐且选择C#(几乎就是我所做的)。
VB.NET的唯一问题是你应该养成在代码文件顶部添加两行的习惯;他们会在不让你做蠢事的情况下帮助你:)
Option Strict On
Option Explicit On
这是一个关于“单词与符号”的简短例子...你会发现除了C#中的一些括号之外没有太大区别,还有一些额外的单词描述了VB.NET中发生的事情
Option Strict On
Option Explicit On
Imports System
Imports System.Windows.Forms
<Serializable> _
Public Class MyClass
Inherits SomeBaseClass
Implements SomeInterface
Public Shared Sub DoSomething()
For each item as Object in SomeCollection
Debug.Writeline(item.ToString)
Next
End Sub
Public Sub SomeInterfaceMethod() Implements SomeInterface.SomeInterfaceMethod
MessageBox.Show("Grrblah!")
End Sub
End Class
using System;
using System.Windows.Forms;
using System.Diagnostics;
[Serializable]
public class MyClass : SomeBaseClass, SomeInterface
{
public static void DoSomething()
{
foreach(Object item in SomeCollection)
{
Debug.WriteLine(item.ToString());
}
}
public void SomeInterfaceMethod()
{
MessageBox.Show(@"Grrblah!");
}
}
答案 12 :(得分:0)
尽量不要陷入'必须跨平台'陷阱。如果你刚刚开始,那不应该是你的想法。我不能代表所有人,但我自己,我已经看到这种情况发生在其他人身上,很早就陷入了困境并且没有到达任何地方因为我总是试图找到跨平台的东西,只是因为他们跨平台并不意味着它们最适合您的情况,特别是在早期。
当你熟练掌握某种语言时,你就会知道如何通过平台移植和制作东西。不要仅仅因为它被宣传为跨平台而选择一些东西,尽管今天的大多数语言都是这样,不要忽视其他语言的需要,虽然不一定是平台特定的,但在某些平台上似乎更好,例如Windows的C#和Mac的Objective-C,我认为它们都是很好的语言。
如果你想学习一些在网页开发和桌面开发方面都有益的东西,我会选择Ruby。您可以查看Ruby on Rails以进行Web开发。 Ruby也是非常跨平台的,您可以使用它开发桌面应用程序。还有各种绑定,例如,您可以使用它编写Mac应用程序,甚至可以使用Iron Ruby访问.Net(如果需要)。
Python也是一种可能性。