• 0

a little help of choosing a programming lang


Question

so I'm currently stuck for enrolling classes for school

because of the sched conflict, I either have to choose internet programming classes or for .net classes (I'm looking for a year and a half plan. for the first semester, I will take internet programming class. for the second semester though, I'm wondering whether I should take the next lv of internet programming class or for the first .net class. if I take the first .net class, then for my third semester, I will be able to take the next lv of .net class, but then I won't be able to take the second lv of internet programming class forever).

I know that the trend of IT, and the programming languages change fast.

what do I want to be? I can either be a web developer/.net developer, mobile/tablet, etc

but in long term i am willing to shift to the business field

so as I've said, for the first internet programming class, I will be able to learn a bit of html, mysql, php, css, a bit of javascript, and xml

for the second lv of internet programming class, you get to learn jsp, jdbc, ejb jndi, xml, jsp, and more advanced stuffs

for first .net class (i have to take this first in order to be enrolled for the next lv, which is .net enterprise class) - you get to learn c#, .net framework

for the second lv .net class - you get to learn asp.net, ado.net entity framework for web app, deployment database access, and etc.

to some extent, I would like to expand my skills in database, if I could either mssql or mysql

in terms of job market/demand (for now and for the next 3-5 years maybe?), which is more demand?? what do you reckon?? I know I'm the one who decides at the end, but I still wanted to take your advice I would really appreciate if you could give, advice me specifically.

14 answers to this question

Recommended Posts

  • 0

.Net is specific to Microsoft. Typically I hate learning vendor specific languages and as a beginner, I'd say learning industry standard languages is much more useful. In this case though, I'd recommend taking the first 2 .net classes and here's why...

Once you become good at an object oriented language like java, C++ or C#, it's very easy to pick up any other OO language. You're going to find a 100 different programming and scripting languages that you can use for any given task. The main difference is the syntax and that's easy to learn. The benefit of becoming an expert in one language (or set of related languages) is that you'll learn the difficult things like search algorithms, security, performance optimization, etc. It's very easy to pick up new languages, like java for example, once you've mastered C#.

From your description, it sounds like the internet programming classes are trying to tackle way too much stuff at once. HTML, PHP, CSS etc are things you can learn quickly on your own. Having a class that introduces you to the 1000 different internet technologies out there is a waste of time. You need to hone your object oriented programming skills. After that, you can quickly pick up these other things.

  • Like 2
  • 0

You will need to learn languages on your own anyway. I definitely agree with psyko_x that the best thing to do is master C++, C#, or Java first. Once you have a firm grasp on one of those languages, it will be much easier to learn virtually any other OO language, including ones you would be taught in your web programming classes, like PHP and Javascript.

Also, you might be interested in Coder Radio. They have answered questions very similar to yours in the past. Take it from someone with experience.

  • 0

Go for C# it'll make you a much more versatile programmer. Knowing a typical C-based OO language is a huge asset and will open many doors to you. University is not the time to specialize in one field it's the time to learn as many different things as possible. Open your horizons now and you'll be able to make better career choices.

.Net is specific to Microsoft. Typically I hate learning vendor specific languages and as a beginner, I'd say learning industry standard languages is much more useful.

Oh please. C# is an ECMA standard as with most of the .NET framework. Currently you can learn C#, the .NET framework, and most of the dozens of languages that run on this platform (most of which are open-source) without using any software or platform from Microsoft. While you're at it, why not mention Java was designed by Sun and C by AT&T, and if anything ever was vendor-specific it's been C++ compilers and "standard" libraries.

What definitely doesn't matter for a beginner is who makes the language, how it gets standardized, or even who uses it - heck Scheme is a fine choice for learning even if it doesn't see much use in the industry.

  • Like 2
  • 0

Once you become good at an object oriented language like java, C++ or C#, it's very easy to pick up any other OO language. You're going to find a 100 different programming and scripting languages that you can use for any given task. The main difference is the syntax and that's easy to learn. The benefit of becoming an expert in one language (or set of related languages) is that you'll learn the difficult things like search algorithms, security, performance optimization, etc. It's very easy to pick up new languages, like java for example, once you've mastered C#.

kinda true. I learned C# and now i'm in the process of learning c++ and c++ feels like i'm going backwards. I should have learned c++ first

  • 0

Go for C# it'll make you a much more versatile programmer. Knowing a typical C-based OO language is a huge asset and will open many doors to you. University is not the time to specialize in one field it's the time to learn as many different things as possible. Open your horizons now and you'll be able to make better career choices.

Oh please. C# is an ECMA standard as with most of the .NET framework. Currently you can learn C#, the .NET framework, and most of the dozens of languages that run on this platform (most of which are open-source) without using any software or platform from Microsoft. While you're at it, why not mention Java was designed by Sun and C by AT&T, and if anything ever was vendor-specific it's been C++ compilers and "standard" libraries.

What definitely doesn't matter for a beginner is who makes the language, how it gets standardized, or even who uses it - heck Scheme is a fine choice for learning even if it doesn't see much use in the industry.

If you can develop and run .net applications on linux and mac OS, so be it. I've never written a C# program and didn't realize you could do that. I do find it interesting that you used the word "most" 3 times, but whatever.

As for recommending a language like Scheme to a new programmer, I think that's pretty absurd. There's a huge benefit to starting with a much more widely used language. It's easier to find tutorials on the internet, in books, on forums etc.

  • 0
As for recommending a language like Scheme to a new programmer, I think that's pretty absurd. There's a huge benefit to starting with a much more widely used language. It's easier to find tutorials on the internet, in books, on forums etc.
Yet Scheme is widely used in the academic world because it's a very small and consistent language that's ideal for teaching functional concepts. It's popular enough that there are several Scheme questions every day on stackoverflow.com and several tutorials and books to be found.
  • 0

Yet Scheme is widely used in the academic world because it's a very small and consistent language that's ideal for teaching functional concepts. It's popular enough that there are several Scheme questions every day on stackoverflow.com and several tutorials and books to be found.

Everything's relative. Whatever number of Scheme questions are on stackoverflow each day, you can multiply that by a few orders of magnitude for java etc. It will be more than the "several" questions you see about Scheme

  • 0

thank you all!!

i think i now understand the "flow"

i have one more question, and i would really appreciate it if you could help me out again :)

to reduce the confusion, let me briefly list and explain the content for the subjects

data analytic: intro to data mining, visual exploration of data mining, data preprocessing transformation, association rules mining, classification and prediction (such as tree introduction bayesian, classification by backpropagation, etc), clustering, mining sequential data, and etc

adv db: exploration data mining, application dw, datamart, corporate data resources, data resources integration, transaction processing support

object relational db: programming SQL :)

unix: learning unix lol

operation system for network security: unix is prerequisite - (for ms 200x release, cisco, unix, etc) learning about process, cpu scheduling, deadlock, main memory, virtual memory, network security, file system, SElinux in practice, routing security, etc

web svc tech & app: intro to distributed system, EAI, socket programming, web svc programming (SOAP, WSDL, UDDI), platform, svc oriented architecture, etc, etc. the course is half based on research i guess? and nearly half programming

enterprise computing: intro to enterprise computing, component framework and architecture (OMG CORBA, COM/DCOM, J2EE, Microsoft .Net), Data integration methods and techniques, e-business integration: standards and technologies, EDI, BizTalk, RosettaNet, ebXML, Emerging trends in enterprise computing: Utility Computing, WEB 2.0, Enterprise 2.0, Software as a Services (SaaS): benefits and challenges, examples. it will be based on research assignments, presentation, and a final

so i'm trying to pick one out of three ways. i will take unix (i mean its good to know for programming right??), and O-R DB for sure

** i'm confused whether i should take data analytic and unix prior taking object relation database course in case it will help?

** and i'm also confused whether i should learn adv database (which covers this and that but don't think it covers specific for each) or just pure data mining?? they all seem to be useful

1. unix --> OR DB --> web svc computing (and eliminate enterprise computing? bc it seems useless? pure research/case study right?) and operation system for network security

2. unix --> OR-DB, adv. DB --> web svc + os for network security or data analytic (what do you recommend?)

3. data analytic --> OR--DB + unix --> web svc + os for network security

thank you :cry: :cry: :cry: :cry: :cry:

  • 0

I would go for the second option, with network security. I strongly believe that learning *nix (whether that be FreeBSD, Linux, or some other UNIX variant) is extremely beneficial for any serious developer and should be done fairly early on. (Disclaimer: I am a heavy Debian Linux user, so I might be slightly biased in that regard.) Neither data anlaytic nor enterprise computing seems particularly useful to me based on your descriptions. For a backend web developer/sysadmin type of position, UNIX -> OR-DB + Adv. DB -> Web Svc + OS Net Sec seems like the right order to me. Dr_Asik, feel free to disagree with me again.

  • 0

I'd also vote for option 2, because lets face the majority of internet runs on Linux so knowing the basic concepts of how it works would be a good idea. Even if you are only doing programming, especially web-based stuff, its always good to know the ins and outs of the platform you'll be dealing with.

(Also I am a part time Linux user/sysadmin so I might be a bit biased.)

  • 0

I'd go for .NET; it's one of the best object oriented languages IMO (and there's not much disagreement that VS is by far the best IDE), and it runs on/has been ported to a variety of operating systems (including Windows, Linux, OSX, Windows Phone, iOS, etc.).

As for which will have more demand, I would have to say that in the business market you'll probably looking at .NET and other OOP languages, but if you're planning on working for Facebook or starting your own Internet company I'd go with the second level of web development. As long as you have the basics of web development down, imo, it shouldn't be too hard to learn the rest of it (and the rest of it will definitely be easier to learn if you've spent some time learning .NET).

  • 0

xorangekiller,

thank you so much for your reply. ive realized that you replied for both of my questions.

trust me they were long long questions lol but i truly appreciate it :D :D

your answers rly helped me a lot!!

I would go for the second option, with network security. I strongly believe that learning *nix (whether that be FreeBSD, Linux, or some other UNIX variant) is extremely beneficial for any serious developer and should be done fairly early on. (Disclaimer: I am a heavy Debian Linux user, so I might be slightly biased in that regard.) Neither data anlaytic nor enterprise computing seems particularly useful to me based on your descriptions. For a backend web developer/sysadmin type of position, UNIX -> OR-DB + Adv. DB -> Web Svc + OS Net Sec seems like the right order to me. Dr_Asik, feel free to disagree with me again.

hmmm i see i see!!!

thx for the advice :D :D

I'd also vote for option 2, because lets face the majority of internet runs on Linux so knowing the basic concepts of how it works would be a good idea. Even if you are only doing programming, especially web-based stuff, its always good to know the ins and outs of the platform you'll be dealing with.

(Also I am a part time Linux user/sysadmin so I might be a bit biased.)

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Oh, I did. And it's even worse than I was hoping! Besides a lot of techno-babble jargon (yes I understand 100% of it but it's still all just techno-babble) there's 2 key points that make me super-weary about even considering testing this out. -- By default, after installation, a relay is automatically set up, so you do not need to care about that. * Non-chatmail apps use email servers as a long-term message archive while chatmail clients use email servers for ephemeral instant message relay. * Supporting the full variety of classic email setups would require considerable development and maintenance efforts, and complicate making chatmail-based messaging more resilient, reliable and fast. -- Basically, the end-user device is the 'server' (relay) so there is NO ARCHIVING whatsoever because every message is necessarily ephemeral. Great for techno-paranoia (and for illicit activities preferring no tracks to cover) but terrible for everybody else. It's also ironically contradictory to engineering principles of redundancies besides the transport layers due to the explicit absence of any persistent storage. Instead of 'classic email address' retaining multi-GB messaging archives on its server, now every device must retain 100% of those storage demands. (Email messages were originally meant to be short correspondences, not the multi-MB attachments boondoggle that now exists with unlimited spam engines flooding every potential recipient.) Any device swap or reset (or loss) makes the entire message history go bye-bye forever... lest there's an off-device auto-archival "relay" mechanism that's really a separate server that holds onto all transported messages (an email server) that utilizes 'chatmail email address' identities (like an email server) and its own persistent storage archive (like an email server). But... this solution is hoping to exist alongside real-world email address identities (based on the email server relay pathway) but simply render messages in chat thread format in an ephemeral manner (with contents being encrypted, and messages auto-expiring) ... In the end, it's a chat app/experience for the Web3/P2P-at-all-costs zealots. (I have accts on all sorts of federated web3 services so I understand the technical and non-technical alike.) For any practical users, however, it's just another service to download/install, register, cross-share id cards/qr codes, but know that there's no history/archive whatsoever (by design) so no account/message recovery whatsoever... update the device, install a bummed update patch, or dare upgrade your device... all history, poof, gone. Ya gotta start everything over again like they're a brand new person.
    • You've tried DuckDuckGo and Brave Search, now get serious with SearXNG by Paul Hill Over the last decade, it has become quite trendy to dump Google Search in favor of privacy-preserving alternatives such as DuckDuckGo, Startpage, and Brave Search. These search engines have done a very good job at highlighting dodgy practices by Google, such as adjusting search results based on what it thinks you’ll like (filter bubble) and stalking you around the web to advertise to you. While these search engines are good starting points when compared to non-private services like Google, there are still quite a few issues with them. For example, both DuckDuckGo and Brave Search require running non-free JavaScript in your web browser, which is comparable to running proprietary software on your computer, meaning you can be sure about what it’s actually doing in the background. Another issue is that these search engines are hosted on the respective companies’ servers, and you are using a service that you don’t control. Finally, DuckDuckGo, while offering privacy features, relies heavily on Microsoft’s infrastructure for its results and, in the past, has permitted Microsoft tracking scripts. If you are looking for a more private search solution than DuckDuckGo, Brave Search, and Startpage, then I recommend taking a look at SearXNG. It is a privacy-respecting metasearch engine that can be used via different public instances, which is useful for mobile users, or you can install it on your computer or server and run it locally with maximum control. Unlike Google, Bing, or Brave Search, which crawl the web and have their own search indexes, SearXNG is a metasearch engine, meaning it taps other search engines, stripping your identifying data, such as IP address, user agent, and cookies, in the process. Your search query is sent to the other search engines you enable before aggregating the results. SearXNG has deployment flexibility. If you are a casual user or a mobile user and don’t want to run SearXNG locally, you can use a public instance that is hosted by someone else. The main problem with this is that you are putting trust in the maintainer of the instance regarding stuff like logs that they may keep; good hosts should have a privacy policy explaining their policies. If you are trying to use SearXNG, you can also install the software on your device and then head to 127.0.0.1:8080 in your browser and search from there. While you don’t have to worry about a third-party admin like the public instances, search engines could ultimately block your IP address if they frown on you pulling in their search results locally. If you want to run it locally, it’s a good idea to use proxies or VPNs to hide your actual IP. You don’t have to worry about this with a public instance, as search engines never see your IP address. The main privacy benefit of using SearXNG is that it isolates your identity from the underlying engines that it’s capable of searching, such as Google and Bing. These search engines will only see requests coming from a generic server, so they can’t profile you and create a bubble filter that influences what results you see. This also ensures that your search engine doesn’t turn into an echo chamber that prevents you from reading alternative points of view. As a free software project, you are allowed to inspect SearXNG to make sure there are no negative features bundled inside. This sets it apart from the privacy search engines mentioned earlier because you can’t check their source code. As a meta search engine, you are not restricted to getting results from one source. Due to the fact that it scrapes content from other websites, your SearXNG instance will periodically get blocked from different providers, so it’s good to select a range of sources as a backup. While enabling all of the services will give you great results, this can make searching slower. I am personally happy with slower searches for the best results, but you can always check which providers are slowing down your search from the search results page and disable them to speed things up. If you want decent results quickly, enable the main search providers such as Google, Brave, DuckDuckGo, Qwant, Bing, and Yahoo. This way, you get wide coverage without the latency. On the Engines tab in Preferences, do note that there are different tabs, such as General, Images, and Videos, with their own providers that can be toggled and are not covered by "Enable all" while on the General tab, so be sure to dig into each. Just a note, if you want to enable everything, press "Enable all" in one tab, then hit save at the bottom of the page, then do the next tab, and so on. If you press "Enable all", then do that in each tab, and then save, nothing will stick. When I had just some of the search engines enabled, I searched “define nefarious” and results came back with the definition of “define” - obviously that was a sucky result. However, when I had everything enabled, it found dictionary pages for the word “nefarious” and even had an inline definition on the sidebar, which is quite nice too - that was delivered by WolframAlpha for anyone wondering! Probably the worst thing about this meta search engine is that the engines you select are saved with a cookie, so you must enable them on every new device you use SearXNG on, including if you decide to go into incognito mode with your web browser. Honestly, I would say this is the most annoying aspect, and perhaps if your browser lets you choose a separate private browsing search engine, then it would be best to use DuckDuckGo for this portion of your browsing. Another weakness of SearXNG is the random blocking of it by search providers. When you are on the results page, expand the “Response time” box, and it will show things like “Suspended: too many requests” or “access denied”. This is why it is good to enable several providers so that there is always a fallback to get results from. I won’t pretend SearXNG will be for everyone, however, if you enable all of the providers and put up with the slower response time, the results can be really amazing. Even if you don’t want to use it as your daily driver, keeping a bookmark handy that links to it is a good idea if you ever feel like doing a deep dive into a niche topic where other search engines are just failing to bring up any good result, due to the amount of sources it looks on. If you’re interested in radical user control over the software you use, installing SearXNG locally can also be a good idea, but be prepared to be temporarily blocked from sites if you trigger bot sensors without a VPN. Personally, I’ve opted to use a public instance, rather than install it myself. If you want to use it via a public instance, head over to searx.space to find a provider. Let us know in the comments if you have used SearXNG or its predecessor, Searx. What do you think about the quality of the results?
    • Dear Neowin, If it is not too much trouble, can you start using the new-ish designations for Insider Preview? "Experimental" is different than "former Dev" as it can apply to different models, eg 26H1 or 26H2 etc, right? No need to seed confusion IMHO. And, please "finally" update your graphics. OK?
    • Did you see their FAQ, its quite good. Have a look in the Advanced section. https://delta.chat/en/help
    • Just install Linux Mint that is a real blessing and many times cheaper because you can continue using your old Windows computer/laptop with the latest Linux updates.
  • Recent Achievements

    • Week One Done
      Woland13 earned a badge
      Week One Done
    • One Month Later
      Woland13 earned a badge
      One Month Later
    • One Year In
      bernmeister earned a badge
      One Year In
    • Week One Done
      Scoobystu earned a badge
      Week One Done
    • Week One Done
      tuben earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      502
    2. 2
      +Edouard
      226
    3. 3
      PsYcHoKiLLa
      158
    4. 4
      Steven P.
      75
    5. 5
      FloatingFatMan
      71
  • Tell a friend

    Love Neowin? Tell a friend!