【问题标题】:Learning Objective-C 2.0 and ASP.NET 4.0 simultaneously?同时学习 Objective-C 2.0 和 ASP.NET 4.0?
【发布时间】:2010-06-07 05:03:35
【问题描述】:
  1. (爱好) 我拥有 Macbook Pro 和 iPod Touch,因此开发 iPhone/iPod/iPad 应用程序似乎是一件合乎逻辑的事情,以便在编程领域获得一些经验。此外,我想编写一个类似于 Capsuleer(EVE Online MMO 角色技能监控应用程序)的新应用程序,但具有更多功能。这是我很想在自己的 iPod Touch 上安装的东西,我相信其他人会欢迎他们的 iPhone 或 iPod Touch 上的新 EVE Online 应用程序。

  2. (职业) 我想学习 ASP.NET(以后可能还会学习 Silverlight),以应对我未来的潜在工作。我打算在 .NET 领域工作,所以我最好开始学习 C# 和 ASP.NET尽快

同时学习完全不相关的技术是个好主意吗?还是一次学习一件事会更好?首先是 Objective-C,其次是 ASP.NET。反之亦然。

谢谢, 萨哈特

更新 1:我现在正在阅读 ASP.NET 4.0 和 Objective-C 2.0 的书籍,让我告诉你到目前为止它进展顺利!多样性可能是让它如此有趣和不那么枯燥的原因。早上在去曼哈顿的公共汽车上,我学习了 ASP.NET 和 Visual Web Developer 2010。在学校期间,我正在为夏季机器人研讨会使用 C++ 编程机器人。当我回家时,我正在学习 Objective-C!一开始我真的很害怕学习两种完全不相关的编程语言,但事实证明这还不错!

【问题讨论】:

    标签: c# asp.net iphone objective-c


    【解决方案1】:

    这通常取决于您对语言的熟悉程度。如果你有不错的经验,那么从一种语言迁移到另一种语言最终会变得非常流畅。例如,我白天是一名 .NET 开发人员,但通常在晚上玩弄 Objective-C 和 Ruby。我认为唯一的缺点是对每种语言都感到沮丧(例如,“为什么 c# 不能做 ruby​​ 可以做的事情?”)但总的来说,很容易将两者隔离开来,特别是如果你很好的话在一般情况下划分事物。

    就个人而言,我会说去吧。沉浸在一种语言中可以让你走得更远,但我认为经常看到多种语言和平台会让你成为一个更好的程序员。它将向您展示解决同一问题的不同方法,并教您如何决定针对特定问题使用哪些工具。另外,它加强了简历。不要轻视 Objective-C 的力量在那张纸上,因为那里有很好的职业。而且随着 Mac 平台变得越来越流行,许多公司将开始将 .NET 桌面应用程序移植到 OSX,并且知道两者都可能是无价的资产。

    【讨论】:

    • 很高兴听到有人使用多种编程语言,而不是只专注于一种。我关心的是内存管理。在 .NET 中你得到垃圾收集器,在 Objective-C(在 iPhone 上)你没有。但这是一个记住你在给定时间编程的语言的问题。
    • 这不是真正的问题,只要你事先知道。学习使用 XCode 中的分析工具,这将是查找内存泄漏和一般调试方面的宝贵资产。我处理这个问题的方法是记住,每次我创造一些东西时,也要摧毁它,而且很少有问题。事实上,这也教会了我在 .NET 中的一些东西,例如(几乎总是)实现 IDisposable,而不是依赖 GC 来完成脏活。您可以通过自己管理事物来获得一些非常高效的 .NET 应用程序。
    • iPhone 上的 Objective-C 有一些技术可以减轻手动内存管理的负担,例如 AutoRelease Pools。一般来说,如果你分配了对象,你应该释放它。
    【解决方案2】:

    因为您热衷于为 iphone 开发。专注于目标 C。 可以将其视为具有不错的面向对象扩展的 C。 您将学习 C 和面向对象。它对苹果很友好。 职业明智,在您的 Iphone 应用程序中安装一个 Iphone 应用程序将是非常及时的简历填充器 投资组合。

    另一方面,我建议您先学习如何设计程序。
    您花费的时间将在您的第一个项目中得到回报。 从那时起,您将利用它。这真是最好的路线。

    要了解这一点.. 去这里:http://www.htdp.org 他们有一个很棒的免费可下载开发环境和大量在线资料。 它们是自切片面包以来最好的东西。 您可以非常快速地完成他们的工作,而不会浪费时间赶上 在语法无关。

    【讨论】:

    • 您的链接包含不同类型的代码 sn-p。但是我还没有弄明白,用什么语言来开发那个代码sn-ps?
    • 我很喜欢你给 Sahat 的建议,如何学习编程语言。
    • @Rajendra Bhole,如果您查看在线书籍,您会在那里看到专门针对正在讨论的主题的代码 sn-ps。您将安装他们的名为 DrScheme 的软件包并加载与章节级别相对应的“语言”。您使用的语言会随着您的进步而发展。工具本身方案的底层实现语言。 Scheme 擅长作为一种元语言。他们的方法的美妙之处在于,您在学习设计原则时不会遇到语言语法问题。随着示例变得越来越复杂,语言也会不断发展以满足您的需求。
    【解决方案3】:

    简而言之,这就是我的编码生活,所以它很有可能和实用。我在工作中学习了 .NET,并自学了 Objective-C。

    您没有提及您是否有任何编程经验,这大大改变了建议。如果您对面向对象的开发或编程一无所知,我建议您暂时远离 O-C。我浪费了很多高中时间,试图在一个学期的 C++ 编程中学习 Cocoa。当我进入大学并且物品成为常态时,可可变得更有意义。

    一旦您对面向对象编程有了一点了解,您甚至可以自学 Cocoa 的基础知识……而无需使用 Cocoa 编写代码。 Cocoa 应用程序是用称为 Model-View-Controller (MVC) 的结构编写的,Visual Studio has a very popular and well-supported MVC template for writing C# applications

    祝你好运!

    【讨论】:

      【解决方案4】:

      iPhone 上的 Objective-C 和 ASP.NET 上的 C# 非常不同,但也有很多相似之处:

      • 这两个选项都具有全面的集成开发环境以及调试器和其他工具。
      • 两者都支持现代程序设计范例,例如模型-视图-控制器。
      • 两者都有在线文档和大量示例代码。
      • 这两个系统都有大量的支持者,尤其是在 StackOverflow 上:-)
      • 两种语言都有类似 C 的语法 - 花括号等。

      在我看来,最大的不同是输出。 iPhone OS 会给你一个二进制文件,它需要适当的打包才能被其他人使用。在临时部署之外,实际上将您的应用程序提供给其他人需要跳过一些障碍,并且需要支付一些美元。

      您授予访问权限的任何人都可以使用 ASP.NET - 托管在您的服务器上,等等。

      为了能够比较和对比,通常可以在两个不同的系统中编写相同的程序,以便能够看到它们的不同之处。由于外形尺寸和前面提到的 iPhone 部署,这更难。

      作为一个学习练习,我会继续并行进行,当然,但要明白,如果你想一直发布你的代码,每个选项都是非常不同的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-23
        • 2010-09-15
        • 2011-02-14
        • 2011-08-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多