If you like DNray Forum, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...

 

Recommendations for Web Application Programming

Started by Ingrid, Mar 23, 2023, 12:48 AM

Previous topic - Next topic

IngridTopic starter

Hello there,

I have been developing application software, computer games, and algorithmic programs all my life. However, due to financial problems with my employers, I was forced to move from a comfortable zone of big cool software to programming web applications. Although I believe I have the skills to learn any stack of technology, it takes at least a month to master each one. Therefore, I am relying on your experience and recommendations to help me select a language/framework for developing websites and web applications.

In terms of my experience, I've worked with Pascal, C, C++, C#, Delphi, JavaScript, Python, PHP, Java, and Prolog for a total of 10 years. While I'm well acquainted with PHP CodeIgniter and have completed several serious projects using it, I don't particularly like php or the framework itself.

To help me with my selection, I have a set of criteria that I would like the language/framework to meet. These include being stateless-oriented, high-quality, and having the potential to grow in popularity. It's also important that there are many vacancies available related to this technology. I hope to use ready-made modules instead of making my own for each task and looking for competent communities with good dоcumentation.

As for preferences, I prefer an object-oriented programming language with static strict typing and C-like syntax.

Please provide me with detailed answers that include pros and cons as it'll help me in my final selection.

Thank you!
  •  


KopeMedia

It's difficult to determine the right choice when it comes to selecting a programming language to learn. However, there are several areas that are guaranteed to remain relevant over the next five years, including Ruby frameworks like Ruby on Rails and Sinatra, Python with Django, and PHP with Yii and Symfony.

These three languages make up 95% of small and medium-sized projects, and each has its own set of pros and cons. While Python and Ruby share some similarities, PHP is incredibly popular but still has room for improvement in terms of the language itself and the infrastructure surrounding it.

It's best to choose one language and fully commit to learning it before determining whether it is the right choice. If you decide to study Ruby, I am willing to help and guide you on where to start learning.

Additionally, it's worth noting that each language/framework has its unique strengths and weaknesses, and ultimately, the decision should be based on individual needs and preferences.
  •  

TDSko

If you have experience with C#, it may be a logical choice to consider developing on .NET. There are several vacancies available, and the pay is relatively high. Additionally, with the rise of Microsoft in the Win8 family of products, the number of opportunities in this area will only continue to grow.

Alternatively, you can explore Java and Spring/Hibernate or Spring Roo frameworks which offer static strict typing and c-like syntax in its purest form. It's worth noting that each language/framework has its unique strengths and weaknesses, and ultimately, the decision should be based on individual needs and preferences.
  •  

comdali

Consider trying a microframework such as Slim, which can be learned in less than an hour. While it may not be personally preferred, it is incredibly simple and won't require much time to master.

For templates, it is recommended to use native PHP.

When working with PHP, it's important not to rely too heavily on approaches typically used in Java such as factories, objects, and builders for every task. While this is possible in PHP, it often slows down performance and results in slower coding times. Unless you're creating a megaportal, simpler approaches are generally more efficient and easier to implement.
  •  

katebonnerwrite

Java and JavaScript are two of the most popular programming languages, with distinct characteristics and applications. Java is widely used for creating mobile applications for Android, as well as reliable websites in the financial and public sectors. With the state actively funding programming training and providing additional opportunities for specialists in this area, it is a highly demanded field.

On the other hand, JavaScript is fully integrated with HTML and CSS, and functions primarily as a programming language for browsers. It has a large-scale ecosystem and many ready-made ideas that beginners can easily access. If you're deciding between the two, consider your interests and goals. Java is best suited for mobile app development, while JavaScript is better for creating web applications and desktop programs.

PHP is another popular programming language used for web development, particularly for creating dynamic and secure sites. Development takes place on the server side, and PHP interacts seamlessly with HTML, CSS, and databases. This versatility makes it easy to create projects using individual code pieces in any order.

Ultimately, the choice between programming languages should be based on individual needs and preferences. It's important to carefully consider the specific applications and characteristics of each language before making a decision and investing time in learning it.
  •  

Piyush

Given your preference for an object-oriented programming language with static strict typing and C-like syntax, TypeScript emerges as an ideal choice. TypeScript, a superset of JavaScript, brings the benefits of static typing and advanced tooling support while maintaining compatibility with existing JavaScript codebases. Its strong type system helps catch potential errors during development, thereby enhancing the overall quality of your codebase.

Pairing TypeScript with the React framework presents numerous advantages. React's component-based architecture empowers you to build scalable and reusable user interfaces, aligning with your goal of leveraging ready-made modules for efficient development. Additionally, React enjoys widespread adoption and a thriving community, ensuring access to comprehensive dоcumentation, robust support, and a wealth of pre-existing solutions to common development challenges.

From a career perspective, the combination of TypeScript and React offers promising prospects. Its growing popularity is evidenced by the increasing number of job postings that specifically seek developers proficient in these technologies. This trend indicates a sustained demand for talent skilled in TypeScript and React, thus offering potential career growth opportunities in the web development domain.

While acknowledging the initial learning curve associated with mastering TypeScript and React, the long-term benefits of these technologies in terms of code quality, maintainability, and market relevance make them a worthwhile investment. Embracing TypeScript and React can empower you to develop modern, high-quality web applications while aligning with your desire for a stateless-oriented, high-quality, and in-demand technology stack.
The combination of TypeScript with the React framework fulfills your criteria and preferences comprehensively, offering a robust foundation for your web development pursuits. Its alignment with your technical preferences, market demand, and potential for growth positions it as a compelling choice for your future projects.
  •  

AresseDuh

Let's consider Go (also known as Golang). Go is a statically typed, compiled language with a C-like syntax, making it an excellent choice for those familiar with C. It's designed for building scalable and concurrent systems, which is perfect for web development. Go has a growing community and is used by companies like Google, Netflix, and Dropbox. Go's standard library provides a range of modules for tasks like networking, encryption, and compression, reducing the need for third-party libraries. However, Go's type system can be verbose, and its error handling mechanisms may require some adjustment.

Next, let's look at Rust. Rust is a systems programming language that prioritizes safety and performance. It's statically typed, compiled, and has a C-like syntax, making it an excellent choice for those who prefer a strong type system. Rust's ownership model and borrow checker ensure memory safety, reducing the risk of runtime errors. Rust's ecosystem is growing rapidly, with popular frameworks like Rocket and actix-web for building web applications. However, Rust's steep learning curve and complex error handling mechanisms may deter some developers.

Another option is Haskell. Haskell is a purely functional programming language with strong type inference and a strong focus on mathematical rigor. It's a great choice for those who appreciate the beauty of functional programming. Haskell's type system is incredibly powerful, and its lazy evaluation mechanism can lead to more efficient code. Haskell's community is smaller compared to other languages, but it's still active and provides excellent dоcumentation. However, Haskell's syntax can be intiмidating for those unfamiliar with functional programming, and its lack of support for mutable state may require adjustments.

Last but not least, let's consider TypeScript. TypeScript is a statically typed, compiled superset of JavaScript that adds optional static typing and other features to improve the development experience. It's an excellent choice for those already familiar with JavaScript and its ecosystem. TypeScript's type system is designed to work seamlessly with JavaScript, making it easy to integrate with existing projects. TypeScript's community is massive, and its type checking capabilities can help catch errors early. However, TypeScript's type system can be complex, and its compatibility with older JavaScript code may require adjustments.
  •  



If you like DNray forum, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...