Need advice about which tool to choose?Ask the StackShare community!

C#

56.7K
44.2K
+ 1
2.1K
JavaScript

349K
265.8K
+ 1
8.1K
Add tool

C# vs JavaScript: What are the differences?

Introduction

Here is a comparison between C# and JavaScript, highlighting their key differences.

  1. Syntax: C# is a statically typed language with a more rigid syntax, while JavaScript is dynamically typed with a more flexible syntax. This means that in C#, variable types must be declared explicitly, and the code is compiled before execution, catching many errors at compile-time. JavaScript, on the other hand, allows for more flexibility, as variables can change types during runtime and errors are usually identified during execution.
  2. Platform: C# is mainly used for developing applications on the Microsoft .NET framework, whereas JavaScript is primarily used for web development and runs in the browser. C# can be used on multiple platforms with the help of Mono or Xamarin, but it is more commonly associated with the Windows ecosystem. JavaScript, however, can run on any platform with a compatible browser.
  3. Object-Oriented Programming (OOP): C# is designed as an object-oriented language, emphasizing classes and objects. It has features such as encapsulation, inheritance, and polymorphism. JavaScript, on the other hand, is a multi-paradigm language that supports both procedural and functional programming styles. While it does support OOP, JavaScript's object model is based on prototypes and does not have traditional class-based inheritance.
  4. Typing: As mentioned earlier, C# is a statically typed language, meaning that variables must be explicitly declared with their data types. This helps in catching errors at compile-time and provides better code clarity. JavaScript, being dynamically typed, allows variables to hold different types of values at different points in the program. This flexibility can make JavaScript code concise but can also introduce more runtime errors.
  5. Error handling: In C#, error handling is achieved through the use of exceptions and try-catch blocks. Exceptions are thrown when an exceptional condition occurs, and the program can handle them explicitly. JavaScript, on the other hand, has a more relaxed error handling approach. Errors are often handled using conditional statements or by returning special values to indicate errors. This can make error handling less explicit in JavaScript programs.
  6. Standard library: C# comes with a robust standard library that provides a wide range of built-in functionalities, including file I/O, network operations, and cryptography. JavaScript, being primarily a browser language, has a more limited standard library focused on web-related tasks, such as DOM manipulation and AJAX requests. However, JavaScript benefits from a vast ecosystem of third-party libraries and frameworks that provide additional features and functionalities.

In Summary, C# and JavaScript differ in their syntax, platform support, object-oriented programming approach, typing system, error handling methods, and standard libraries.

Advice on C# and JavaScript
Nikhilesh Swaminathan
Needs advice
on
JavaJavaJavaScriptJavaScript
and
PythonPython
Please Help in creating a test framework

Hello Devs,

I am planning to implement a ETL test system for checking data quality and business use cases. I am confused on what stack to use. Any advice on the below will be very helpful.

  1. Any existing frameworks and its source code for help
  2. Any other stack apart from the mentioned stack (that might be suitable)
  3. Any ideas for features are welcomed.
  4. The usage of multiple BE stacks.
See more
Replies (1)

If you want to create using Python language, Robot Framework is one very helpful tool to improve your test scripting and we have a lot of methods created by the community. If you want to use Javascript, Cypress in terms of benefits is the better option to create and maintain tests, and run and generate reports in many browsers is really easy with them.

See more
Needs advice
on
C#C#JavaScriptJavaScript
and
KotlinKotlin

Hello everybody,

I'm Syed, recently graduated from university. I studied C++ as the first programming language and later I have (a little) experience working with C#. I also have a basic understanding of Kotlin, JavaScript and Python. As of today, I am studying Kotlin from https://developer.android.com/.

Please give me some tips about my career. Which language should I choose in today's modern era? Whether I go with Web development or work on Android app development. Thank you for your assistance.

See more
Replies (1)
Recommends
on
DartDartFlutterFlutterReactReact

Hi Syed, I wish you all the best. I'm an experienced programmer with more than 15 years of experience. Recently in my company, we were trying to hire a MERN Full-Stack developer and we found many who can code in React but few who were capable of thinking logically and actually able to solve the business problem. Learn any language or package, but keep in mind to learn for a goal. Syntaxes don't matter, we hire to achieve goals. Small to medium companies, usually hire full-stack developers due to the lack of resources. So it would be great to learn the following: For Web, I would suggest "React", and for mobile development, "Flutter" comes in handy with lots of promising future. How about learning both? much better but it's all about you. Good luck!

See more
Paul Morgan
Researcher at Working on it · | 25 upvotes · 245.2K views
Needs advice
on
JavaScriptJavaScriptPythonPython
and
ReactReact

Hey everyone, I have a matrix chart drawn in HTML5/CSS 3 dominantly using CSS grid. I would like to add interactive features and am unsure about the best tool. My programming knowledge is limited to 2 semesters of Java in college, so I'd have to learn the language as I go. I am open to anything, but the selected languages would be useful in future projects.

Here are the features I am attempting to add to the site linked as my blog:

  • Assign over 120 attributes each to over 400 elements (probably in a DB)

  • Procedurally position elements in a matrix chart based on user-inputted filters (filtering and searching)

  • Procedurally position matrix elements based on attributes weighted by user-input

  • Change style of elements based on user input (highlighting)

  • Allow saving matrix chart states to be revisited or shared

  • Provide a user-friendly interface for users to submit the above input

  • Build several columns or matrices that are separate but related and seamless to the viewer

See more
Replies (5)

PyCharm + Python + Flask + Jinja2 is enough to build web server/ajax and JavaScript + JQuery (maybe React). You can write small easy application but also extreme high scalable application.

I know Java but it need 4x time more code and code is not clear (too much forced use of @decorators) - too complex and takes more memory :)

Remember if you code in Python it is easy to code in Java but if you code in Java you must understand that Python is much more flexible and powerful - also easier to learn.

See more

There are two main facets to interactivity - whether your frontend (Javacsript, HTML, CSS) is programmed to behave dynamically based on events and on any other preprogrammed behavior, and based on what information your server can send and receive and compute for the benefit of your frontend. For the former (a dynamic frontend) you'll need to use Javascript (or Typescript) in some form. For the latter (a server with custom behavior and data endpoints beyond just sending static HTML etc. files), any of the major languages can serve this purpose. However, if you are going to create a dynamic frontend with Javascript and don't know that language at all, then learning it will be a task in itself, and without knowing a backend language well either (probably the case with only two semesters of one language a while back), you ideally don't want to also have to learn a whole other backend language on top of that. That's where NodeJS comes in. It has essentially the same exact syntax as frontend Javascript (just different native libraries). Since you already need to learn Javascript to make the frontend behave dynamically, if you also want a custom backend, NodeJS will spare you a big learning curve on top of the existing learning curve of learning JS. NodeJS is also highly performant for low-compute high-volume requests, i.e. handling a large barrage of requests if each doesn't require a lot of complicated behavior on the backend. A lot of coding bootcamps teach this, commonly called "full stack JS", for this reason - it allows someone to learn a constellation of full stack web development skills from the mastery of one language syntax. NodeJS + ExpressJS is also one of the easiest backend languages + REST API library to use to build a backend. Look up "NodeJS Express Hello World", and you'll be shocked at how easy it is to build a basic server. As far as frontend frameworks go, if this project is very limited in scope, JQuery could be fine, but I'd highly recommend learning React for something more involved - it will be immensely easier to manage and maintain, and generally lends itself to much better and more intuitive code organization. Its use of components will also be somewhat familiar and intuitive from the object oriented programming you learned through Java. Create React App is great tool to use, especially when first learning React, to avoid all of the finicky nonsense in configuring transpilation etc.

See more
Recommends
on
ReactReact

React is hands-down the tool I recommend to add interactivity to your matrix. Because it is Javascript, it will leverage a lot of the formatting from Java. Python would be very foreign to you. React shines in allowing you to use OOP principles within the JavaScript language and it is really powerful, fast and browser friendly.

See more
Recommends

Use Javascript alongwith HTML CSS and you have complete set of application ready (even for future for PWA or bundled applications).

You can use charts.js library https://www.chartjs.org/ or https://apexcharts.com/javascript-chart-demos/. You can find many examples, you can have a look at https://codepen.io/ksarpotdar/pen/NWyqqZM?editors=0010

See more
Recommends
on
JavaScriptJavaScript

Ok. Clearly you forgot the best tool to give for interactive features. JavaScript! In particular I recommend the freeCodeCamp JavaScript course. Here it is.

See more
Needs advice
on
JavaScriptJavaScript
and
PythonPython

I am unhappy. When doing my research, I heard Python is useless. Data science is an unworthy field thanks to TensorFlow, and web scraping has also become pointless since the introduction of the PWA. Since PWAs are only frontend, I feel forced to learn JavaScript, and to ditch Python. I love Python with all my mind, it's simplicity, conciseness, and easiness as a tool. Here are a few questions:

  1. Should I forget Python and move on?
  2. Are there any PWA alternatives to JavaScript/TypeScript. I've been thinking of using Python for WASM and use HTML+CSS for the DOM to create the PWA. Is this possible?
  3. Why is JavaScript such a pain in the butt
  4. What's the point of me learning Python if it's not useful for web development?
See more
Replies (4)
Christophe Vermeulen
Engineer Counselor at IBPT · | 8 upvotes · 70.4K views
Recommends
on
PythonPython

You should not ditch or forget Python because of what you hear or because of one particular project. It's probably going to stay relevant and useful for the coming 20 years. If you're a programmer, you should however be prepared to use several tools, and programming languages are just part of the toolbox (like HTML or CSS, but also your IDE, powershell, linux commands, etc.) It's not for nothing that this site is called "stackshare".

See more
Adam Bouqdib
Software Engineer, Entrepreneur at ABE Media · | 6 upvotes · 69.3K views
Recommends
on
GolangGolang

Python is great for data science but it's not very performant and eats up loads of resources. I recommend that you give Go a go. It's easy to learn and very fast!

See more
Recommends

JavaScript is reduced Python. Python is powerful. If Python is not powerful you can mix it with C/C++ - this is not available in JavaScript in easy way. I am programmer and electrical engineer too - I think for research Python is the best thing. JavaScript is better for Web. I code in both very good.

See more
Recommends

Python is definitely not useless, It has a ton of usecases, with a huge community behind it, but not that performant and consumes lots of resources, I don't think you should abandon it, and PWA is kind a in its early stage, so I doubt that there will be any language better than js for developing it any time soon, so I guess there are no alternatives, but I guess you will like js/ts if you spend a little more time playing with it, and the same goes for wasm it is also in its early stage, and i guess web assembly and rust will be used a lot for that, and lets say you have built a frontend web app , now with the help of python + django or flask you can write server code, and learn a little bit about databases, then bravo you are a full stack dev.

See more
fisher boy
Intern web developer at Stepway · | 9 upvotes · 100.2K views
Needs advice
on
CSS 3CSS 3HTML5HTML5
and
JavaScriptJavaScript
in

Hey I'm currently an undergraduate in computer science for almost 5 years now, still left with a few courses before I complete. I know that I'm not good at programming but still I choose developer based programming career approach, I have made plans to start my career in websites, etc, for that, I have purchased books related to HTML5, CSS , JavaScript. I'm currently learning HTML5 and CSS only and after this some JavaScript I am really confident in my decision but would love to know what an expert developer advice thanks in advance.

See more
Replies (7)

Whatever you do don't go WordPress path. Developers over-there tend to ignore system limitations and hardcode and overengineer their solutions so as to please their clients. If you are a beginner probably you'll get to work on someone else's shitty code and will be asked by your boss to do "yet another impossible thing with Wordpress". And... Probably... You'll do it.

My suggestion is: think in stacks and don't start too low. Starting with HTML, CSS3 and JavaScript is too low. Start on higher levels and with something practical. You'll have time for basics some time later and it would be much easier, because you'll see those technologies are compliment to what you do and not your main objective.

My suggestion for you:

  • Android Mobile App Development path (complex enough so you won't get bored)
  • All things web3 crypto, nft, virtual reality, blockchain path (has tons of computing web development tasks)
  • Cloud computing setup and administration path (good, because you say you're not good at programming)
  • Artificial intelligence and automation (this is future, people need this)

I've also found it helpful to think of each stack as a surface (find Google Images "radar chart") . Every time you try to learn something new you start in the center, with all technology-points overlapping. You are as low as you can get and you know nothing. Your job is to expand outwards each technology so as to make a stack-surace. The more surface the better. You'll see that some technological-aspects are easier to expand than others and plan your time accordingly.

Have a good start!

See more

You can also try starting with one of the big marketing agencies. Even if you don't feel like you're ready to start as a web developer (you likely are, though, they hire at all levels) you can start as a content author or similar supporting role until you're more comfortable, then transition into a development role within the same company when you're ready.

See more
Shanover Saiyed
Software Engineer (Web) · | 4 upvotes · 43.1K views
Recommends
on
SvelteSvelteVue.jsVue.js

I would recommend you to learn these quickly and get on learning a good front-end framework like Vue, ReactJs, Svelte. Pick up real world projects not just learn from books. Always keep learning about the new technologies used to develop things because IT Web development tools and their approach is growing faster than ever, you have got to keep up with those new techs and tools. Final advise, open any job portal, find your targeted job and see what requirements are their.

See more
Jose Vargas
Recommends
on
JavaScriptJavaScript

JavaScript is an ever growing technology with lots of opportunities and great depth for both front end and back end development. I would say that JavaScript is a safe bet in terms of furthering your career as a developer in 2022 and beyond. There’s lots of tools and frameworks based on this language that you would have to make decisions on which ones you want to become an expert. I recommend you follow interesting people that you admire to draw inspiration from. Such as Ben Awad or Jeff Delaney. Check this web page recommended to me by the latter on his YouTube channel “Fireship”: https://2021.stateofjs.com/en-US/resources/

See more
Recommends

I don't believe that you are confident about your decision to follow a career path as a developer. This migh be your department's fault and not necessarily yours. Most good developers are already working as developers at that age. Although your current status states that you are an intern you are struggling to find a good starting point. Since you are interested in website developmnet you can start learning programming using a mainstream CMS such as wordpress. Do you know how many companies and self employed guys make their living by customizing wordpess? But if you want to step out of the crowd then seek for junior jobs on a fintech or on a vertical market such as travel or betting. Search for online job oportunities and find out what technologies these guys use then take an online course and start learning the language. Within a month or two apply for a job as a junior and use as reference the online course.

See more
Recommends

JS + HTML + CSS only tackles the front-end of programming. I suggest you can start to learn by finding an open API related to something you love and then creating a website for it. (E.g. movies, documentaries, music, whatever you are into) Also you can do this dude's tutorials https://www.youtube.com/watch?v=dtKciwk_si4

Later on, when you've already one a few projects, start to learn the backend side of things (database + whatever you want - C#, Python...)

See more
Recommends

this article might help you. Web development is a combination of skills. not only developing skills but also SEO and other stuff. codehub.lk/web-development-skills-you-must-have/

See more
Needs advice
on
ASP.NETASP.NETJavaScriptJavaScript
and
Node.jsNode.js

I am about to complete my graduation with a computer science background. I want to pursue my career in software development. My front-end knowledge is very poor. I didn't like PHP so I didn't go for Laravel. My university offers a course on ASP.NET, I liked C# that's why I took asp.net. But now I think .net tech is unnecessarily complicated and most of the job offers available for .net are not for freshers. Should I try js and Node.js now? I mean as a fresher which tech stack should I choose for web development(Backend)?

See more
Replies (2)
Anthony Chiboucas
Software Engineer & Support Operations Lead · | 5 upvotes · 87.4K views
Recommends
on
JavaScriptJavaScriptNode.jsNode.js

Just don't .NET. It was a failed idea from the start. Node and javascript are easier to learn, with much wider adoption, and more active communities.

.NET is an old experiment in using a markup language to separate the UI from the business logic. The idea was that this would allow a small team of hyper-competent engineers to build the tooling and code for a large team of less-skilled front-end developers to leverage. In practice, leveraging that customized UI markup requires understanding and adjusting the underlying code. The result is that any UI change requires a hyper-competent .NET engineer.

However, many larger companies bought into it a long time ago, and now have a hard dependency on old monolithic .NET ecosystems, and they do need .NET developers to maintain them.

So, you can get a well paying .NET job without much difficulty. However, you'll neither like it, nor be doing anything interesting. There's no growth here, only a very long slow death of .NET (that'll probably take another 20 years).

Node and Javascript are sticking around, and still growing.

See more
Mahmoud Gabr
Software engineer at AlgoDriven · | 4 upvotes · 87.6K views
Recommends
on
ASP.NETASP.NET

What I can see, you are confusing yourself, if you studied .Net now it's better to work as .Net developer, and you will find opportunities as fresh. Just search and don't waste your time. After you get more experience in .Net, then you can learn NodeJS if you still need to learn it.

See more
Needs advice
on
CSS 3CSS 3JavaScriptJavaScript
and
ReactReact

Hi, I learned some skills like HTML & CSS and JavaScript. Now I am learning React but sometimes I feel that I'm not good enough in the skills that I learned before although I make projects by any skills I learned. Every moment I feel that I need to be perfect and I know it's a wrong feel. Now I try to know How can I determine that I have the basis of any skills that I learn I mean that When can I move from learning completing tutorials to learning according to my requirement.

See more
Replies (4)
Muhammad Waleed
Community and Content Operations at StackShare · | 14 upvotes · 82.4K views
Recommends
on
ReactReactTailwind CSSTailwind CSS

I admire your hard work for learning new technologies, but I would definitely recommend you to go out there, find internships and then learn by doing. There is not too much you can learn just from the tutorials, there are other important factors that you need to be a good programmer, you need to communicate, and do projects according to the liking of the client/project manager.

I would say it again, go out there and find internships to gain experience.

See more

Build a relatively more complicated project. Probably a solution for a problem you might facing rn. Take a few months to build it. Get yourself stuck in the bugs. Try to get outta that bugs. Don't worry about that imperfect feelings. Even senior devs go to Stackoverflow to seek help. And most importantly, finish the project, and don't give it up in the middle of the journey.

See more
Recommends
on
JavaScriptJavaScript

I think with anything related to personal development is about comfort zone management. Being too comfortable one can feel bored, too outside ones comfort zone one may feel out of their depth. I'm sure there's more to this down the rabbit hole of psychology. However I found learning about motivation and striking the right balance of extending myself has truly helped keep me pushing forward at a steady pace. In the end do projects that are motivate you whilst incorporating learning as you go. So pick a project that you know is possible, that you can achieve if you put the work and effort in, and that the outcome of it will be as you expect. I think even the perfectionist in you will find that satisfying.

See more
Jef Kalashnikov
Recommends

I was in your situation 6 months ago. I was well experienced in HTML, CSS, JS and NodeJS but wanted to learn React too.

What really got me going was doing one project for my customer. It was a good basis to learn React in a real environment and it got me rolling.

I can only advice you to do some REAL projects, not a a tutorial to-do list application of sorts: these won't teach you around hard stuff to handle as they are very controlled.

Go out there, create a real application for a business or as an intern somewhere. :)

See more
Sadie Flick
Needs advice
on
JavaJavaJavaScriptJavaScript
and
PythonPython

Generally speaking, what are the most important things you expect a junior developer to know and be able to do from day 1 in your respective tech stack? Firm grasp of OOP? SQL? MVC? ORM? Algorithms and Datastructures? Understanding CRUD & the request response cycle? Database design? framework familiarity? Postman? Deployment? TDD? Git? Language-specific knowledge? Other things?

See more
Replies (5)
Prashant Singh Ahluwalia
Head of Engineering - AIOps at Microsoft · | 13 upvotes · 265.3K views
Recommends
at

Start with building a solid understanding of computer science fundamentals. Understand the basics of building blocks - memory, processing, storage, networking. Understand what CPU bound, memory bound, I/O bound, network bound processes are. Understand the cost of accessing data from Memory vs. Disk vs Network. Understand how multiple CPU threads help in optimizing the performance of a single machine.

Build expertise on a programming language. You may pick any language of your choice. I would recommend starting with Java / Python. Make sure you know one language really well. Build a strong understanding of Data Structures and Algorithms. You should be able to develop an intuition on when to use what. You may practice DS and Algorithm problems, using the language of your choice, on a competitive coding platform (e.g. Leetcode) or by building your own App!

Next, get familiar with basic cloud computing and distributed system concepts. Here is a good resource for that - https://www.youtube.com/watch?v=p7NkTUyEE1o&ab_channel=JeffreyRichter If you understand the computer science fundamentals well, you will be able to apply those concepts here as well.

Hope it helps!

See more
Recommends

Ability to read code and willingness to try to reason flow of operations and information. Tools and technologies change, one doesn't need to have them in toolbelt from day one. All things you name are relevant in some contexts, so it's not bad to understand them.

See more
Luan Himmlisch
Recommends

Just learn to learn. Learn to search and develop your logical thinking, that's all you need. No books, no deep study of how computers work, just logic and willingness to learn

See more
Recommends

For me, it is less of a specific technology you know (although I would prefer you have some knowledge of some of my team stack). It is more the way you get into a problem, the eagerness to learn more, the true sincerity to say "I don't know", the open mind to find solutions in different ways and the "Yes we can" mentality no matter how hard it is.

See more
Recommends

Most employers don't expect from you to know how to implement CI/CD or any other funcy stuff. As junior developer you should focus on building a good toolset of good software practices & principles. Your soft skills are important as well. Learn about soft skills. Be eager to learn, be humble and show you talent and your creativity through your work. If you want to become a good developer ( at first) and a star engineer (at a later stage) then computer programming (coding) is your number one priority . Coding is like painting. Putting aside your talent, you have to practice a lot and improve your outcome each time. As junior developer you can learn how to write good code by studying existing code found in public git repositories (i e , github). As junior developer you should study some good software principles (i.e., DRY, KISS, YAGNI) and always recall them each time you write software code. As junior developer you should learn about coding standards and conventions. You will have to follow to your company's coding conventions (soon or later) as well as you will realize that you have to write code cosistent to the existing code base. At the end of the day, code consistency matters a lot. You have to improve your code day by day. If you manage to follow some good software practices you will find out that you will need an ORM to work with your database. Then you will realize that you need the X web framework to build your REST API etc. To sum up, you will start building a toolset with a single programming language and some good software practices & principles and then you will put new tools in it day-by-day.

See more
Youcef Benamare
Needs advice
on
C langC langC++C++
and
C#C#

include include int main(){ char name[10], pasword[10]; printf("enter you user name :"); gets(name); printf("enter your pasword : "); gets(pasword); printf("your name : %s \n your password : %s \n", name, pasword); if ( name != "youcef") { printf("name undefined\n"); } else { printf("finde name"); }

}

his not working

See more
Replies (2)
Richard Rios
Senior Software Engineer · | 5 upvotes · 135.2K views
Recommends
on
C langC lang

You will want to do a few things here. First, replace gets with fgets. Then, you're going to want to use strcmp from string.h to compare the input with the desired result. The code listed below has been updated with a working example with the previously mentioned recommendations. This isn't perfect and there are other ways to accomplish the same task. Explore other options that are available when you have a chance and see if you can improve on this example.

#include <stdio.h>
#include <string.h>

int main()
{ 
    char name[10], 
    pasword[10]; 

    printf("enter you user name :"); 

    // Use fgets as gets is insecure and can easily lead to buffer overflow exploits
    fgets(name, sizeof(char) * sizeof(name), stdin);

    // Remove \n from fgets stdin read with null character so as to not have to include
    // in strcmp later.
    name[strlen(name) - 1] = '\0';

    printf("enter your pasword : "); 
    fgets(pasword, sizeof(char) * sizeof(pasword), stdin);

    printf("your name : %s \n your password : %s \n", name, pasword);

    // If strcmp result > 0 || < 0 it's not a match
    if (strcmp(name, "youcef") != 0) 
    { 
        printf("name undefined\n"); 
    } 
    else 
    { 
        printf("finde name"); 
    }
}
See more
Recommends
on
C langC lang

Dear, Yusuf You can't use if statement to compare two strings, but you can use strcmp() function which means string compare The behavior of strcmp function is: If (string1 < string2)? Then: return a negative value. If (string1 > string2)? Then: return a positive value.

If(string1 == string2)? Then: return (0).

So, you can modify this statment to: if(strcmp(name,"Yousef") != 0) printf("name undefined\n");

else printf("find name");

But, In this case there is one logic problem that (strcmp) function don't ignore the letter case. For example: If you input name : yousef

The first letter here (y) is small, but in the comparing statement above is capital, So the result will be "name undefined", but in fact "yousef" = "Yousef".

To solve this problem you should use stracasecmp() function. This function ignore the letter case while comparing. The code will be: if(strcasecmp(name,"Yousef") != 0) printf("name undefined\n");

else printf("find name");

Attention: Include string libreary after using these functions to skip any problem may be found.

include

may Allah bless you ^_^

See more
Needs advice
on
JavaJavaJavaScriptJavaScript
and
PythonPython

I'm making my university community web service with a team. (6 members myself included)

And we decided to use JavaScript, HTML, CSS (for sure, it's the basic of websites) but couldn't decide for the back end part.

There are tons of languages, tools, etc., but I'm really new to programming, so I'd like to get some help to figure out what tools we need.

So my question is this: are there any good examples of web community services we can mimic the tools or get an insight from them?

See more
Replies (6)
Recommends
on
DjangoDjangoPythonPython

Since you're following Python, I would recomend using Django as your main back-end language. If you know Python it would be a great experience. Django is well documented on their official website: https://www.djangoproject.com/ I would also use React for front-end as well. Also this article is worth reading, I think progressive web app is something worth learning these days: https://web.dev/progressive-web-apps/ Hope that helps :)

See more

Since your team is already using JavaScript, there's a great number of examples for backend services written with NodeJS. I'd recommend using Firebase, or any backend as a service (you can use that term to find alternatives), for setting up your backend as it is much easier for newer people to understand and lets you focus on your core application logic, and not provisioning servers, databases, etc.

See more
anas mattar
Technical Lead at DPO International · | 2 upvotes · 220.3K views
Recommends
on
JavaScriptJavaScript

Since you're team is already using JavaScript, there are alot of examples and open source projects written with NodeJs, so I preffer this language in your backend application and also I am recommended using Mongo DB with It for saving data in it, and also for your frontend application I am recommanded using VueJs.

See more
Jamal Abdinasir
Product manager at abdinasirjamal171@gmail.com · | 1 upvotes · 220.5K views
Recommends

Kindly I don't find any help that solve this mystery I need more help if it will happen

See more
Nash Nziramasanga
Software Developer at Billow Software · | 1 upvotes · 220.2K views

Since you are already using JavaScript on the front end it would be easy to adopt the MERN (MongoDB, Express, React, NodeJS) stack which s all javascript based making it easy to transfer knowledge with the backend and front end

See more
Hüseyin Özkılıç
Senior Full-Stack Developer at RADSoft · | 1 upvotes · 220.1K views
Recommends
on
JavaScriptJavaScriptLaravelLaravel

Make it simple, most of projects doesnt need a AI, ML or big algorithms. If your project just serving end users take it to the web ready compatible. (Javascript, .Net, PHP Laravel)

See more
Decisions about C# and JavaScript
Jacob M
Brand Director at NCINTEV · | 15 upvotes · 108.9K views

I’m well aware of the hate that php receives and some of it is well warranted. But the ease of implementation for so many features that I find myself needed on a daily basis is head and shoulders above what I could achieve with JavaScript on my backend. I can do more without the need of frameworks but I still have many options if I want that. Especially with database handling I find many of the complainants about php to be pure rhetoric.

See more

Python will be used in order to train machine learning models from our data. We chose python for this task because it is the most common language for machine learning. It has very performant libraries like numpy and scikit-learn that provide functionality for manipulating data and creating models that you cannot get in other languages like JavaScript and Java. Additionally, it is the most familiar language for us to use for machine learning because almost every machine learning course teaches ml using python.

See more

Javascript will be used for both our frontend and backend on the web service. JavaScript is ubiquitous as the language to use for the frontend. For the backend, we decided to create our server using JavaScript because of its easy setup; using Express we can create a server in just a few short lines of code. It is simple not only to run the server locally, but to host it as well because any major service will support the language. JavaScript is a simple language to code in and familiar among our team members, so using it will help speed up development. Using JavaScript allows us to use NodeJS and npm, so we can use packages to easily set up the server, connect to a database and other convenient utilities. We also considered Python for our server. It is also very simple to create a server in Python, especially using flask. However, the extra familiarity with the JavaScript language and the ease of using packages were enough for us to pick JavaScript as our language of choice.

See more

Python: The top language in machine learning area because of the various open-source libraries. Our company will rely on open-source libraries for development as well.

Amazon EC2: Training machine learning model needs to be running on independent 3rd party computing resources. AWS EC2 can provide a variety of virtual computing resources based on what users need.

React+Javascript: React is popular and everyone in the team is familiar with it. React is an open-source JavaScript library that is used for building user interfaces specifically for single-page applications.

ExpressJS: Everyone in the team has used expressJS for development. It can create server-side web applications faster and smarter.

Amazon RDS: relational database service and free to use

Postman: Tool for the team to test API endpoint.

Circle CI: is lightweight and open. Therefore for faster deployment jobs, one can execute their codes on CircleCI as it deploys on scalable and robust cloud servers.

Docker: Easily pack, ship, and run any application as a lightweight, portable, self-sufficient container, which can run virtually anywhere

Github+Git: Julian is from Github so no other choice for us 😎

Slack: Everyone likes it and it's free

See more

Python: Top one language in machine learning area because of the various open source libraries. Our company will rely on the open source libraries for development as well.

Amazon EC2: Training machine learning model needs to be ran on independent 3rd party computing resources. AWS EC2 can provide variety of virtual computing resources based on what users need.

React+Javascript: React is popular and everyone in the team is familiar with it. React is an open-source JavaScript library that is used for building user interfaces specifically for single-page applications.

ExpressJS: Everyone in the team has used expressJS for development. It can create server-side web applications faster and smarter.

Amazon RDS: relational database service and free to use

Postman: Tool for the team to test API end point.

Circle CI: is lightweight and open. Therefore for faster deployment jobs, one can execute their codes on CircleCI as it deploys on scalable and robust cloud servers.

Docker: Easily pack, ship, and run any application as a lightweight, portable, self-sufficient container, which can run virtually anywhere

Github+Git: Julian is from Github so no other choice for us 😎

Slack: Everyone likes it and it's free

See more

2 major challenges for which JS comes as a handy tool, 1st its integration with AWS SDK was at par as Python and .net and the solution comes to hand with the reverse proxy solutions for the application to be running as an instance taking the situation of inside organization demography of resources expertise over the technology.

See more
Gabor Galazzo

As a startup, we need the maximum flexibility and the ability to reach our customers in a more suitable way. So a hybrid application approach is the best because it allows you to develop a cross-platform application in a unique codebase. The choice behind Ionic is Angular, I think that angular is the best framework to develop a complex application that needs a lot of service interaction, its modularity forces you (the developer) to write the code in the correct way, so it can be maintainable and reusable.

See more
Alexandre Desroches
Founder & Developper at Finance D · | 71 upvotes · 340.1K views

I had a goal to create the simplest accounting software for Mac and Windows to help small businesses in Canada.

This led me to a long 2 years of exploration of the best language that could provide these features:

  • Great overall productivity
  • International wide-spread usage for long-term sustainability and easy to find documentation
  • Versatility for creating websites and desktop softwares
  • Enjoyable developper experience
  • Ability to create good looking modern UIs
  • Job openings with this language

I tried Python, Java, C# and C++ without finding what I was looking for.

When I discovered Javascript, I really knew it was the right language to use. Thinking of this today makes me realize even more how great a decision this has been to learn, use and master Javascript. It has been a fun, challenging and productive road on which I am still satisfied.

Obviously, when I refer to Javascript, it is not without implying the vast ecosystem around it. For me, JS is a whole universe in which almost every imaginable tools exist. It's awesome - for real. Thanks to all the contributors which have made it possible.

To be even clearer about how intense I am with Javascript, let's just say that my first passion was music. Until, I find coding with Javascript! Yep, I know!

So in conclusion, I chose Javascript because it is versatile, enjoyable, widely used, productive for both desktop softwares and websites with ability to create modern great looking user interfaces (assuming HTML and CSS are involved) and finally there are job openings.

See more
Leonardo Henrique da Paixão
Junior QA Tester at SolarMarket · | 11 upvotes · 103.4K views

Simple Customer Registration Crud, with the functions of Register, Delete, Edit and List new and old customers registered in the Database. PostgreSQL was used as DBMS, due to its easy use and practicality.

Crud de Cadastro a Clientes simples, com as funções de Registrar, Deletar, Editar e Listar novos e antigos clientes cadastrado no Banco de Dados. Foi utilizado como SGBD o PostgreSQL, pelo seu facil uso e praticidade.

See more
  • Client-Side: \ The form of our product is a web app because we would also provide a dashboard for displaying data and for some further purpose including data filtering and comparison. Hence, we would definitely use HTML5 for structuring the web, CSS3 for styling the web, and JavaScript for building the front-end logic. As for frameworks, we would use React because it is component-based that can keep our front-end code clean and organized. The virtual DOM of React also provides better efficiency in time when rendering the page. Furthermore, React has a greater number of users than Vue and Angular, thus have active communities for problem-spotting and problem-solving. We would also incorporate Bootstrap into our web app to provide an aesthetic user interface and thus to improve the user experience. The fact that Boostrap supports responsive site would also ease our workload if future adaptation for mobiles is needed.
See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of C#
Pros of JavaScript
  • 351
    Cool syntax
  • 292
    Great lambda support
  • 264
    Great generics support
  • 210
    Language integrated query (linq)
  • 180
    Extension methods
  • 94
    Automatic garbage collection
  • 89
    Properties with get/set methods
  • 83
    Backed by microsoft
  • 71
    Automatic memory management
  • 61
    Amaizing Crossplatform Support
  • 46
    High performance
  • 42
    LINQ
  • 37
    Beautiful
  • 34
    Great ecosystem of community packages with Nuget
  • 26
    Vibrant developer community
  • 23
    Great readability
  • 21
    Dead-simple asynchronous programming with async/await
  • 19
    Visual Studio - Great IDE
  • 17
    Open source
  • 16
    Productive
  • 15
    Object oriented programming paradigm
  • 15
    Strongly typed by default, dynamic typing when needed
  • 12
    Easy separation of config/application code
  • 11
    Great community
  • 10
    OOPS simplified with great syntax
  • 9
    Cool
  • 9
    Operator overloading
  • 8
    Events management using delegates
  • 8
    Good language to teach OO concepts
  • 8
    High-performance
  • 7
    Linq expressions
  • 7
    Unity
  • 6
    Coherent language backed by an extensive CLR
  • 6
    Conditional compilation
  • 5
    Top level code
  • 5
    Comprehensive platform libraries
  • 5
    Organized and clean
  • 4
    Concise syntax, productivity designed
  • 3
    Lovely
  • 2
    Statically typed
  • 1
    Interfaces
  • 1
    Far more sleek and sphisticated than other languages
  • 1
    Sophisticated overall
  • 0
    Interfaces
  • 1.7K
    Can be used on frontend/backend
  • 1.5K
    It's everywhere
  • 1.2K
    Lots of great frameworks
  • 896
    Fast
  • 745
    Light weight
  • 425
    Flexible
  • 392
    You can't get a device today that doesn't run js
  • 286
    Non-blocking i/o
  • 236
    Ubiquitousness
  • 191
    Expressive
  • 55
    Extended functionality to web pages
  • 49
    Relatively easy language
  • 46
    Executed on the client side
  • 30
    Relatively fast to the end user
  • 25
    Pure Javascript
  • 21
    Functional programming
  • 15
    Async
  • 13
    Full-stack
  • 12
    Setup is easy
  • 12
    Its everywhere
  • 11
    JavaScript is the New PHP
  • 11
    Because I love functions
  • 10
    Like it or not, JS is part of the web standard
  • 9
    Can be used in backend, frontend and DB
  • 9
    Expansive community
  • 9
    Future Language of The Web
  • 9
    Easy
  • 8
    No need to use PHP
  • 8
    For the good parts
  • 8
    Can be used both as frontend and backend as well
  • 8
    Everyone use it
  • 8
    Most Popular Language in the World
  • 8
    Easy to hire developers
  • 7
    Love-hate relationship
  • 7
    Powerful
  • 7
    Photoshop has 3 JS runtimes built in
  • 7
    Evolution of C
  • 7
    Popularized Class-Less Architecture & Lambdas
  • 7
    Agile, packages simple to use
  • 7
    Supports lambdas and closures
  • 6
    1.6K Can be used on frontend/backend
  • 6
    It's fun
  • 6
    Hard not to use
  • 6
    Nice
  • 6
    Client side JS uses the visitors CPU to save Server Res
  • 6
    Versitile
  • 6
    It let's me use Babel & Typescript
  • 6
    Easy to make something
  • 6
    Its fun and fast
  • 6
    Can be used on frontend/backend/Mobile/create PRO Ui
  • 5
    Function expressions are useful for callbacks
  • 5
    What to add
  • 5
    Client processing
  • 5
    Everywhere
  • 5
    Scope manipulation
  • 5
    Stockholm Syndrome
  • 5
    Promise relationship
  • 5
    Clojurescript
  • 4
    Because it is so simple and lightweight
  • 4
    Only Programming language on browser
  • 1
    Hard to learn
  • 1
    Test
  • 1
    Test2
  • 1
    Easy to understand
  • 1
    Not the best
  • 1
    Easy to learn
  • 1
    Subskill #4
  • 0
    Hard 彤

Sign up to add or upvote prosMake informed product decisions

Cons of C#
Cons of JavaScript
  • 15
    Poor x-platform GUI support
  • 8
    Closed source
  • 7
    Fast and secure
  • 7
    Requires DllImportAttribute for getting stuff from unma
  • 22
    A constant moving target, too much churn
  • 20
    Horribly inconsistent
  • 15
    Javascript is the New PHP
  • 9
    No ability to monitor memory utilitization
  • 8
    Shows Zero output in case of ANY error
  • 7
    Thinks strange results are better than errors
  • 6
    Can be ugly
  • 3
    No GitHub
  • 2
    Slow

Sign up to add or upvote consMake informed product decisions

What is C#?

C# (pronounced "See Sharp") is a simple, modern, object-oriented, and type-safe programming language. C# has its roots in the C family of languages and will be immediately familiar to C, C++, Java, and JavaScript programmers.

What is JavaScript?

JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.

Need advice about which tool to choose?Ask the StackShare community!

What companies use C#?
What companies use JavaScript?
See which teams inside your own company are using C# or JavaScript.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with C#?
What tools integrate with JavaScript?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

May 6 2020 at 6:34AM

Pinterest

JavaScriptC++Varnish+6
5
3361
JavaScriptGitHubReact+12
5
4129
Oct 24 2019 at 7:43PM

AppSignal

JavaScriptNode.jsJava+8
5
952
Oct 11 2019 at 2:36PM

LogRocket

JavaScriptReactAngularJS+8
5
1960
Oct 3 2019 at 7:13PM

Ably Realtime

JavaScriptPythonNode.js+8
5
3822
JavaScriptPythonPubNub+4
7
1500
What are some alternatives to C# and JavaScript?
Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
Golang
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
HTML5
HTML5 is a core technology markup language of the Internet used for structuring and presenting content for the World Wide Web. As of October 2014 this is the final and complete fifth revision of the HTML standard of the World Wide Web Consortium (W3C). The previous version, HTML 4, was standardised in 1997.
PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
See all alternatives