如果你是对技术感兴趣的人,学 VC/C# 吧!精通了这两样,你毕业的时候找一个一流的工作不成问题,以后的前途/钱图远大;如果你想继续深造,多学一些基础理论课程,如操作系统原理/编译原理/数据结构/离散数学等等。另外,好像现在所谓的 Linux+OSS 挺热,如果你个人愿意的话,可以学。不过我个人认为 Linux 和 *nix 越早退出历史舞台就越对人类的科学技术进步有利,他们毕竟是“沉渣泛起”罢了,再过不到 10 年就会变得么么无闻。Java 也是烫手山芋,不知你有没有兴趣,好像 C# 的出现使 Java 的存在已没有必要了。

解决方案 »

  1.   

    不知为什么,我就是不想深入学vb,好像它天生是给小孩子玩的积木。好像vbscript不错,又说javascript通用性强,更好!不管怎样,反正我是希望兄台学c#
      

  2.   

    c#现在还不是太成熟的技术,不过它的前景还是非常美妙的。如果想执新技术之牛耳,可以先学c++或Java,日后再转c#,因为c#是从c++扬弃而来,类似Java(实际上它也是微软和Sun相竞争的产物)。不过,鄙人觉得VB还是有它存在的道理的,比如简单易学、开发效率高等,更重要的是VB和VC的内核是相同的,它可以完成VC98%的工作。
      

  3.   

    无必要,因为VB和Delphi某种程度上说是一种东西.
    我认为,vb,delphi,pb,c++builder同属可视化编程的东西.
    Vc++不同,属于笨一点,但高一点的东西.你可以学精VB,往VC上靠才有意义.
    根据笨人多年的专业开发经验,任何一种开发工具都有长有短,到高手手里都会做出好软件来.
    比如我手里有一位高人用Clipper开发的MIS软件,太棒了,使我收益费钱阿
      

  4.   

    vb->C++ sdk->MFC->VB
    return to inoncense
      

  5.   

    语言不是相通的吗?只不过是实现目标的工具而已。vb,delphi,vc++,哪个不是为windows系统服务的,我想学什么语言都不重要,要的是培养自己的理解能力,到时候就会达到一种境界:什么语言只是你的工具,就象筷子和勺子,都可以用来吃饭,但只是用那个更方便一些罢了。
    我正在为这个目的而努力:)(好象还差十万八千里呢)
      

  6.   

    根本没必要从VB转到Delphi。早期的VB是不如Delphi,没有本机编译器,代码执行速度慢,在语言方面也有些缺陷,但从VB5开始VB已经脱胎换骨了,有了本机编译器,既可以编译成P代码,也可以直接编译成本机代码,语言本身也有了较大的改进,在加上良好的数据库接口,也能支持指针,可以构造各种复杂数据结构,在面向对象方面VB支持完全的封装,也支持多态,只是不支持继承,听说VB7已经完全支持继承了,所以根本没有必要从VB转到Delphi。
      

  7.   

       这要看你怎么看了,其实上面所讨论的都不在要点,真正的程序员要学习的不是一两中编程语言,而是编程语言的编程思想,当你把oop的思想精通了后你学什么计算机语言都不是难事就算是大家公认的比较难学的vc,也只是几天的事情
       不要小看vb,本人也是vb的忠实爱好者,要把vb学精通也不是很简单的事情,只要你能通过vb把oop胡精神领会,那你就是真正的学会了编程
       C#已经出来了,但是我不觉得他能代替java,java的面向对象结构是相当完善的,不是一两个公司通过模仿而能实现的
      

  8.   

    我觉得 jebbthe 兄的说法有道理,
    你应该先把面向对象编程的内含搞明白,
    无所谓用什么语言,
    因为现在的程序主要在于稳定,
    如果你把VB搞得非常明白那你将来想再学什么语言都非常快了。
      

  9.   

    我比较赞同jebbthe和weidong70两位大侠的观点,学编程学的是编程的思想,而用什么样的语言却不是最重要的。我用的也是vb,刚开始的时候,也有同学劝我学delphi或vc,说vb没有前途,我也动摇过,不过我现在一直坚持用vb而且越来越喜欢她了。我想等我把vb学精了以后,我会朝着vc的方向发展,以为我相信只会一种语言的程序员不是一个真正的程序员。虽然我现在不是一个程序员,但我将来一定是。我愿和高举vb大旗的同志一同进步!
      

  10.   

    VB,Delphi,VC又如何,都没关系,如果不是工作所需,你想用什么都可以。关键是自已的爱好,对一个程序员来讲,爱好是非常重要的,那怕我只喜欢用TC2.0编程。用自已爱好的语言,才可以编出最好的程序。
      

  11.   

    想当程序员,真正的那种? 全部都学!很容易。或者起码要掌握C++、Java 为了更快地做出软件原型VB也不错。
    Delphi? 鸡肋。看你有没有空了。在计算机科学中,掌握某些语言只能说是打打基础而已,不要把它看得很难,很了不得。
      

  12.   

    我认为其实不管你学的是什么语言,最重要的是精通,VB我很熟悉,DELPHI也知一二,在本质上没有它们什么区别,只要你把VB学的精通一样功能强大,VB支持API,一样能实现很多的的层的应用,DELPHI以数据库开发最为著名,但VB的DAO,ADO,RDO的功能也不差哟,我现在感觉到VB和DELPHIB最大的差距在于,DEPHI支持指针(句柄),而VB好像不支持.只是做应用软件的话,还用不到指针,当你真的用到指针话,那时你就该学C++了,嘻嘻!
      

  13.   

    实际上vb本身可以使用指针,但有限制,需要api来帮助完成使用。不过不等于它不支持,因为取得指针(包括函数和变量)是它自己完成的。
      

  14.   

    随着Internet应用程序的广泛,特别是多层客户/服务器分布式应用的推广,以后的程序都将基于这种模式,所以我认为VB最大的用处是处理这种结构的中间层和客户层,在中间层可以编写ASP组件,MTS组件,来实现商务逻辑,在客户层使用ASP技术控制这些组件,以提高程序性能。使用VB做这样的开发重点是效率的提高,也是VB程序员的出路!
    欢迎有人找我探讨问题!
    OICQ:6291162
    EMAIL:[email protected]
      

  15.   

    VB的指针挺简单的啊,用着也很方便,不用API就可以,当然用API可以实现更为高级的结构。
    给一个例子,一个用VB实现的双向循环链表。
    先定义一个结点类,类名为Node,代码为:
    Option Explicit
    Public pNext As Node
    Public pPrev As Node
    Public data As SinglePrivate Sub Class_Initialize()
        Set pNext = Nothing
        Set pPrev = Nothing
    End SubPrivate Sub Class_Terminate()
        Set pNext = Nothing
        Set pPrev = Nothing
    End Sub
    再添加一个窗体,窗体上添加两个列表框,list1和list2,窗体的代码为:
    Option Explicit
    Private pHead As Object
    Private pV As ObjectPrivate Sub Form_Load()
    Dim i As Integer
        Set pHead = New Node
        Call CreateLinkList
        Call InsertNode(pHead, 503)
        Call InsertNode(pHead, 1.875)
        Call InsertNode(pHead, -3.675)
        For i = 1 To 100
            Call InsertNode(pHead, -1 * i)
        Next
        Call PrintList
        Call DeleteList
    End SubPublic Sub CreateLinkList()
    Dim p As Node
    Dim nLoop As Integer
    Static pLast As Node
    pHead.data = 0
    Set pLast = pHead
    For nLoop = 1 To 501
        Set p = New Node
        p.data = nLoop
        Set pLast.pNext = p
        Set p.pPrev = pLast
        Set pLast = p
    Next
    Set pLast = Nothing
    Set p.pNext = pHead
    Set pHead.pPrev = p
    Exit Sub
    End SubPublic Sub PrintList()
    List1.AddItem "Forwards"
    Set pV = pHead
    Do
        List1.AddItem pV.data
        Set pV = pV.pNext
    Loop While Not pV Is pHeadList2.AddItem "Backwards"
    Set pV = pHead.pPrev
    Do
        List2.AddItem pV.data
        Set pV = pV.pPrev
    Loop While Not pV Is pHead.pPrev
    End SubPublic Sub DeleteList()
    Dim p As Node
    Set pV = pHead
    Do
        Set pV = pV.pNext
        Set p = pV.pPrev
        If Not p Is Nothing Then
            Set p.pNext = Nothing
            Set p.pPrev = Nothing
        End If
        Set p = Nothing
    Loop While Not pV.pNext Is Nothing
    Set pV = Nothing
    Set pHead = Nothing
    End SubPublic Sub InsertNode(head As Node, data As Single)
    Dim p As New Node, q As Node, prev As Node
    p.data = data
    Set q = head
    Set prev = head.pPrev
    While ((q.data < p.data) And Not q.pNext Is head)
        Set q = q.pNext
        Set prev = prev.pNext
    Wend
    If Not q.pNext Is head Then
        Set p.pNext = q
        Set p.pPrev = prev
        Set prev.pNext = p
        Set q.pPrev = p
        If q Is head Then
            Set head = p
        End If
    Else
        Set p.pNext = head
        Set p.pPrev = q
        Set head.pPrev = p
        Set q.pNext = p
    End If
    End Sub
    一个双向循环链表就形成了,List1中是正向遍历的结果,List2中是反向遍历的结果
    类的构造器Class_Initialize()过程,类的析构Class_Termainate()过程,结点内存的分配和回收都由类自身完成,还有多态,pHead As Object;Set pHead = New Node;Set pHead.pPrev = p;指向基类的指针指向了子类,并调用了子类的属性,是不是挺像C++的代码?链表有了,二叉树,由临接表构成的图等数据结构都很容易实现了吧,实际上用VB能构造很复杂的数据结构,上面的代码只是简单的示例,实际可以做的更完善。
      

  16.   

    另外,VB6也能够生成真实的地址。三种未正式公布的VBA方法VarPtr,ObjPtr,和StrPtr(实际上是指向运行DLL同一入口的三个不同的类型库别名)就可以用来建立指针,使用address=ObjPtr(Obj)就可以获得对象的地址,Obj为需要地址的对象,而Address为一个long型变量,其中放置了对象的地址,使用VarPtr(产生变量的地址和UDT),StrPtr(产生字符串的地址)和ObjPtr
    (产生对象的地址)可以构造真实的,非常复杂的数据结构。
    上面三个方法并没有在Microsoft的正式文档资料中公布(包括MSDN),但查看VB6的基本动态运行库MSVBVM60.DLL可以发现这三个方法:
    [entry(0x60000006),hidden]
    long __stdcall VarPtr([in]void* Ptr);
    [entry(0x60000007),hidden]
    long __stdcall StrPtr([in]BSTR Ptr);
    [entry(0x60000008),hidden]
    long __stdcall ObjPtr([in]IUnknown* Ptr); 
    类似这样的隐藏方法还有不少,实际上VB6的功能是相当强大的,但大家又真正了解VB6多少呢?
      

  17.   


      其实这个帖子应该转发到Delphi区,你在那儿可以听到不同的观点。
      

  18.   

    我认为学哪一门语言都一样。但要学好。
    我很同意r3000和gamebody999的看法。
    vb---->vc
      

  19.   

        只要您有时间,能学会,我觉得还是多学一点好。但至于有人不应该学这个应该学那个的说法我不赞同。有些人编写的程序根本就不必用到什么高深的技术,却非得用VC++,而用 VB 也许半小时就完成了,对于客户来说您用什么语言和他们好象是没有关系的。
      

  20.   

    C# !=C++  C#=C++++   because: # >> ++       do you understand ?????
                                      ++
      

  21.   

    请问上面的 zgl 朋友,得到了变量的地址以后,如何通过这个地址来得到原来的变量(比如一个字符串)?谢谢!
      

  22.   

    我比较同意jebbthe的观点,其实什么语言都是相通的。真正的系统开发
    无论什么语言上,语言上都只顶多占10%的优势,系统的整个设计思想才是最重要的。
    系统设计的好坏全在设计的思想,与语言关系不大
      

  23.   

    zgl的程序写得不错,有机会交流一下。我认为vb的构件化(比对象更大的粒度单元)做的最好。结合api可以快速的开发出强大的程序。我感觉vb更象是一种com粘合剂,和windows结合很紧密,不是delphi可以替代的。c#不回比java差(都是同一组人设计的,被微软挖走啦,体现同样的思想,不过,我希望也可以保留vc,因为java本身也算不上成功)。真的精通vb很难的,比如通过接口继承,多态,使用api。另外,vb应用之广,无出其右。写宏,存储过程,客户端脚本,系统脚本。他几乎跨越了微软的全系列产品。好好的研究吧。
      

  24.   

    VB与DELPHI从本质上讲,并无太大区别,它们就象一对双胞胎,各有优缺点,学哪种都行,我本人比较偏重vb,从发展角度看来,vb比delphi有前途径一些,但要成为真正高手,学哪种都不容易,而且vc也应当学,我的观点是,先学vb,再学vc,这样做能较快入道,我不赞成不学vb而直接学vc的做法,我认为那样做对于初学者来计很难入门。
      

  25.   

    我觉得DELPHI所写的程序好象执行文件都很大,我有一个朋友写的DELPHI程序虽没不用链接库,但EXE很大,不知为何?
    http://inkeven.126.com
      

  26.   

    vb程序打包后奇大无比,这一点delphi可以说比vb更好用。