• 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

    • agenda pushing is... hiring women? you are insane. also low iq.
    • AIMP 5.40 Build 2721 by Razvan Serea AIMP is a powerful audio player that allows you to listen to your favorite music with an outstanding sound quality. Its appearance resembles that of another classical audio player (Winamp). The program includes a 20-band equalizer, a visualization window to display rhythmic visual effects and a playlist editor to organize your audio files. A nice fading effect makes your list of songs look like an endless music loop and a handy volume normalizing feature avoids drastic volume changes between tracks. Also, the players main functions can be conveniently controlled by global hotkeys. Besides playing music, AIMP features three extra utilities which also enable you to record any sound on your computer, convert audio files from one format to another and view or edit tags. AIMP is based on the well-known audio engine BASS, so its easy to connect new plug-ins (from the plug-in library included in the program) and expand the players functionality. Main Features and Functions: Multi-Format Playback: Supports numerous audio formats, including CDA, AAC, AC3, APE, DTS, FLAC, IT, MIDI, MO3, MOD, M4A, M4B, MP1, MP2, MP3, MPC, MTM, OFR, OGG, OPUS, RMI, S3M, SPX, TAK, TTA, UMX, WAV, WMA, WV, XM, DSF, DFF, MKA, AA3, AT3, OMA, WebM, MDZ, ITZ, S3Z, XMZ, AIFF, and MPEG-DASH (YouTube). CUE Sheet Support: Enables the use of CUE sheets for managing audio tracks. Output Support: Compatible with DirectSound, ASIO, WASAPI, and WASAPI Exclusive output methods. 32-Bit Audio Processing: Utilizes 32-bit audio processing for optimal sound quality. Internet Radio: Allows listening to internet radio stations in OGG, WAV, MP3, AAC, and AAC+ formats, with the capability to capture streams in various formats. Bookmarks and Playback Queue: Facilitates creating bookmarks and managing a playback queue. Rating and Auto-Marks: Collects statistics on track listening and automatically calculates ratings and marks for listened tracks. Plugin Support: Allows the addition of new utilities or extensions to existing features through plugins. Built-in Scrobbler: Supports Last.fm, Libre.fm, and ListenBrainz services for scrobbling. Cloud Integration: Supports OneDrive, Google Drive, DropBox, Облако@mail.ru, Яндекс.Диск, and custom WebDAV clouds. Podcasts: Offers podcast support for subscribing and listening. Hotkeys: Allows configuration of local and global hotkeys. Multi-User Mode Support: Supports multiple users working on one computer. Multi-Language Interface: Provides a multi-language interface. 4K and High DPI Support: Supports scale factors of 125%, 150%, 175%, and 200% for high-resolution displays. Flexible Program Options: Offers customizable program settings. Flexible UI: Charm UI: A modern flat-style skin with 4K and High DPI support. Bliss 4K: A skin-transformer from AIMP4 included in the installation package. Pandemic: The classic skin from AIMP3 included in the installation package. User Skins: Access to a catalog of user-created skins. Sound Effects: 20-Band Equalizer and Built-in Sound Effects: Includes Reverb, Flanger, Chorus, Pitch, Tempo, Echo, Speed, Bass, Enhancer, and Voice Remover effects with flexible settings. Volume Normalization: Features peak-based normalization and Replay Gain, along with logarithmic and loudness-compensated volume control. Mixing Options: Offers Fade In/Fade Out, cross-mixing, and pause between tracks. Silence Remover: Removes silence from tracks for a seamless listening experience. Music Library: Music Library: Organizes music files, allows setting marks for listened tracks, and keeps playback statistics. Smart Playlist: Creates playlists based on content from the Music Library database, with filtering and grouping capabilities. Playlists: Multiple Playlists: Supports working with multiple playlists simultaneously. Powerful View Settings: Allows data display customization, track grouping, and separate settings for each playlist. Content Protection: Provides the ability to block content from changes. File Search: Enables searching files across all opened playlists. AIMP 5.40 Build 2721 changelog: Audio converter: WavPack - support for 32-bit float samples format General: localizations has been updated General: WavPack codec has been updated to v5.9 Plugins: scrobbler - Last.fm - in case of an access denied error, the Track Info dialog displays links to web-version of the catalog Fixed: General - error creating a file in a folder created by template if the folder name ends with a dot Fixed: general - menu cannot be scrolled via mouse wheel if the "scroll inactive windows when I hover over them" option is switched off Fixed: General - port number is not extracted from URL if there is no "/" after the port token (regression 5.40) Fixed: audio converter - statistics are not taken into account if the "delete sources files" option is switched on and target folder equals to source Fixed: audio converter - dither does not switched off when processing files in 24-to-24-bit format Fixed: Sound engine - VST - changing the sample rate leads to certain plugins to hanging up Fixed: player - does not read disc numbers for CUE that specified as custom tag fields stored in the audio file Fixed: player - manual invoking the jump to next track action does not work if the next file is not exists and the "track repeat" option is switched on Fixed: plugins - BASS_AAC - does not play certain files to the end Fixed: plugins - CDDA - MusicBrainz - wrong artist name is extracted for certain releases Fixed: issues from incoming crash-reports Download: AIMP 64-bit | Standalone | ~20.0 MB (Freeware) Download: AIMP 32-bit | Standalone View: AIMP Website | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Notion is shutting down its email client one year after launch by David Uzondu In April 2025, Notion launched Notion Mail, an AI-powered email client that acted as a customizable overlay for your existing accounts. Instead of replacing Gmail entirely, it reimagined how users interacted with their inboxes by offering features like intelligent auto-labeling alongside automated calendar scheduling. Now, a little over a year later, Notion has announced that it is shutting it all down on September 22. Since Notion Mail is a frontend client, most of your Gmail data will remain safe inside your Google account, but the company said that you must export stuff specific to Notion Mail, like snippets, custom auto-label instructions, email drafts, and scheduled drafts, before the deadline. Starting today, June 25, you can export that data directly from the app or the web interface, and this grace period will last all the way until September 21. Once September 22 arrives, Notion will permanently delete all unsaved local assets, including files you attached to snippets. Your existing database syncs and mail blocks will persist, though they will stop receiving new messages after the shutdown. Notion advises that if you or your company operate within a regulated environment, you must transition off earlier than the general shutdown date to maintain compliance. Companies that rely on HIPAA coverage face an even tighter timeline and must transition away from the platform by June 30th. Notion, in its X announcement post, basically said that it doesn't see the point of maintaining a standalone email client, especially when users have shifted their habits toward automation. The platform pointed to its Notion agents, which it claims "more than half of Notion Mail users" already employ to manage emails without ever opening an actual inbox, so it is "going all in" on using these agents to run your inbox. Notion introduced Notion Agents last September at the "Make With Notion" conference, giving users AI-powered digital assistants that can do stuff like run in the background on specific schedules (e.g., summarizing your daily open tasks every morning at 8 AM).
    • OK, but isn't nvidia still planning to cut off win10 support this year?
  • Recent Achievements

    • One Month Later
      The_Focal_Point earned a badge
      One Month Later
    • One Year In
      Vistor earned a badge
      One Year In
    • First Post
      kinowa earned a badge
      First Post
    • Rookie
      krychek57 went up a rank
      Rookie
    • Grand Master
      Jaybonaut went up a rank
      Grand Master
  • Popular Contributors

    1. 1
      +primortal
      404
    2. 2
      +Edouard
      168
    3. 3
      PsYcHoKiLLa
      131
    4. 4
      Xenon
      72
    5. 5
      neufuse
      69
  • Tell a friend

    Love Neowin? Tell a friend!