|
You do realise that most of the commenters here have experience in procedural, declarative, OO and functional programming languages don't you? Rather than dismissing them out of hand, you might want to reflect on their experience. Just because you tried something a little bit doesn't mean that you have a strong enough background in those areas to dismiss others; for instance, if your OO language of choice was C++, it was incredibly easy to write bad OO because you ended up writing it as a procedural implementation.
This space for rent
|
|
|
|
|
Joer4x4 wrote:
There is nothing to fear from a global variable. All variables are global after the compiler is done with it anyway. Imagine - all that work to hide them and its all thrown out the window anyway. After compilation it is no longer required; I'll trust the computer to follow the instructions. Hiding the variables is not done for the computer, but for the programmer - to prevent spaghetti-code. Or worse, ravioli-code. So yes, scope only needs to be verified during compilation, not after.
I would consider the use of a global variable an offense that is equal to using a goto-statement.
Joer4x4 wrote: Do you think I requested a non OO language out of thin air? No, of course not; you'll have better experiences/results with non-OOP code. That is a subjective view however, and general consensus points in the other direction.
There are multiple versions of BASIC, and two of the more popular ones are MSVB and VB.NET; where MSVB is usually VB4 or VB6. Both VB4 and VB6 are more procedural than OOP, whereas VB.NET is aimed at OOP but still supports the procedural way (a bit). When MS decided that VB7 should become OO there was a lot of wailing and gnashing of teeth.
Ten years later, you'll find that most of the VB6-crowd has made the move without much regrets.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Joer4x4 wrote: Hey give one of the older languages a try.
I worked with C for about 15 years. And perl, did not and still do not use OO constructs in that. Used Fortran, Pascal, Basic and Assembly as well.
So no need for me to "try" them to understand them.
Joer4x4 wrote:
One rule that will never change is that the shortest line between two points is a straight line
I have worked in which include medical, financial, telephony, cable and agriculture and that simplistic statement has nothing to do with it.
Creating systems is difficult and the cost, which is what businesses actually care about, is impacted by many factors most of which have nothing to do with technology at all. For one example, finding suitable developers to keep projects going can range from moderately difficult to extremely hard. And just from that one factor attempting to choose the skill sets that are most widely available can have a significant impact on what businesses actually care about.
|
|
|
|
|
Joer4x4 wrote: This isn't a game it's business - totalyl
Rather certain that WOW is a business. A very successful one as well.
Joer4x4 wrote: I can write a system faster in older languages with OO. If you look closer and understand the languages it becomes obvious that OO is not completely new...
Based on the current tiobe report of the top 10 languages I have more than a decade in the top 5 languages. And have done probably a year in at least 2 of the others. And C is one of the ones with at least a decade. I have worked on 24x7 servers, back end exclusively for 25+ years. And I do have a education background with a strong grounding in computer science.
Based on that I do "understand" languages.
Based on that I respectively disagree with all of your contentions.
Joer4x4 wrote: The was a time when many (even small) had there own programmers
Not even sure what that means. There was a time when most businesses did not have programmers. These days almost every single small business has either a person in-house that handles their website or someone that must establish a business relationship with a different company that does that. And any moderate size business must have someone that is at least moderately familiar with the technology if they are not doing it themselves.
Joer4x4 wrote: I'll take the old one - much more efficien
You would of course need to define exactly what efficiency you are looking for. However in terms of deliverables - familiarity is probably by far the driving force. A technology is not significant but rather whether the developer knows how to use it or not.
In terms of performance the factors are as follows in the vast majority of all programming endeavors and probably more so in any that calls itself a 'business'
1. Requirements - most impact
2. Architecture
3. Design
4. Technology - including language.
5. Hardware/platform - least impact
I have seen miserably bad code in every language I have worked. However the major performance drivers, on the orders of magnitude, were always caused by the first 3.
Joer4x4 wrote: 3. I know what language but I am avoiding it. While I am exploring I understand that most most new languages were developed by those in research...
Not sure what that paragraph was intended to mean but it suggests it is a rationalization for something. A "new" language is going to be something that has been around less than 10 years. I suggest you look to the tiobe report for that. Other than that businesses these days use OO languages or even languages with OO constructs. That is why the ANSI C standard now has OO constructs. There is even a lot of embedded development using C++ whereas it use to be C and the reason for that is not delivery but rather compactness of code and exact very exact control of that code. With large and faster embedded systems those restrictions are not as strict as they used to be.
Look at Go (see the tiobe report). Not even "new" now as it is 10 years old. It is compiled and was designed because the authors didn't like C++.
|
|
|
|
|
|
It's good to see it make an appearance. It's been too long since there was an Osmo sighting.
This space for rent
|
|
|
|
|
We have design patterns for pieces in a program, but do we have design patterns for entire systems? If so, is there a book that talks about this like the GoF? For example, when dealing with large volumes of messages, often the system design pattern is to have a proxy/router server in the front that uses a hash to send the messages to many servers for processing.
I ask this because I was given a system design question at an interview, and when I presented the proxy hash solution the interviewer asked about other ways of doing this. I did not, and he then promptly listed other methods (all of which flew over my head). This opened my eyes and I now realize that various system designs have more than likely been formalized in a document at this point with the pros and cons of each.
modified 14-Jun-17 17:08pm.
|
|
|
|
|
I'd recommend Manning | SOA Patterns[^]; it contains a nice topic on security.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Thanks! The book looks really promising!
|
|
|
|
|
Member 13259931 wrote: I did not, and he then promptly listed other methods (all of which flew over my head).
Just noting that that seems like a poor way for the interviewer to conduct the interview.
|
|
|
|
|
The question that was asked called (IMO) for general appoaches; you instead, talked nuts-and-bolts (a "hash").
Perhaps you didn't ask enough questions before answering the question:
24x7
Batch versus online versus real-time
Desktop client, web client, web server, application server, database server
Web services, message queues, task scheduler, SQL agent, system services
3rd Party integration
Devopment stack
etc.
So, you should have answered: "It depends".
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
I'm asking about reading material. Not a critique on my interview. The interviewer went into the nuts and bolts. I just want to learn about these nuts and bolts.
|
|
|
|
|
That's the point; it's a "general systems knowledge" that let's one ask questions to get to specifics.
I'm not aware of any other "blue prints"; and since you didn't say specifically what was asked, one can only "generalize".
There are patterens for online systems, web apps, real-time, atomic, sessions, etc.
There is no single source that covers "all" situations.
It's not always about "having an answer"; it's also about how one goes about "finding" an answer.
There's nothing wrong with trying to "steer" an interview. I'll do it if I can; even if it's about "hobbies" (did it; got the contract).
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
Hey everyone,
I want to work out a concept for a platform which will help users to collaboratively plan a project. The platform should consist of:
- A responsive website that shows changing content without complete reloading
- Where multiple users could input text at the same time
- Processing of the input with content based filtering algorithms
- A database to store all the inputs the users made
I know how to program a website and I have basic knowledge of java, but I don’t know which technologies would work together the best?
I thought the following parts would make a solid base?
- Linux Server with java (for the logic part)
- MySQL
- Website (JavaScript, HTML, CSS)
But when I search the web for the missing pieces in between I always find other keywords like Ruby on Rails, Node.js, hibernate… and I’m seriously confused at this point.
Can someone help me with my Problem and maybe suggest a better concept, because my lack of experience makes it hard to connect all the pieces to one working platform?
Thanks in advance
modified 28-Oct-22 21:01pm.
|
|
|
|
|
Technology is a tool not a solution. You want to build a house and you are looking at nails rather than figuring out where the doors and windows should go.
Member 13259867 wrote: - A responsive website that shows changing content without complete reloading
- Where multiple users could input text at the same time
You can research how online games and shared desktop systems work. Basically, very basically, they send messages from the originating client to the server and the messages are distributed to the other clients. There are many optimizations involved in the message flow so that it is smooth rather than jerky.
Member 13259867 wrote: I know how to program a website and I have basic knowledge of java,
If you do not know how to use a database at all and you want to use a database then your first task will be to learn how to use one. And use it with java.
You will also need to design (NOT code) what the data structure will look like that is "saved". Once you design it then you need to create a data model which can used to drive both the database entities and the java entities (often similar but not necessarily one to one.)
If this is for yourself then you might want to start with a chat program that also stores the chat history. And then allows a user to review that history.
|
|
|
|
|
Thank you for the great answer!
The whole platform is part of a university project and some students are going to try the whole thing out at the end. The students will write down questions to investigate a given problem. These answers should be stored and filtered.
I worked with a database before, but just with basic SQL queries on a DB2 database. And I never integrated one into any software project. The tip to design the database in theory is very good I will do this asap.
My main problem is that I don’t know how to properly connect the website with the server and which programming language to use on the server. I found some architectures with Java Beans, Java Servlets and JSP but I don’t know how these should/would work together.
modified 28-Oct-22 21:01pm.
|
|
|
|
|
Member 13259867 wrote: and which programming language to use on the server.
Based on my experience, in college, keep it simple. No extras. If you get done way early then you can add extras.
Do you consider that you are better in one language than others? Then use that one.
Member 13259867 wrote: And I never integrated one into any software project
Fortunately there are many examples of that on the internet - but keep it simple.
Member 13259867 wrote: Java Beans, Java Servlets and JSP but I don’t know how these should/would work togethe
Forget all of those. Try searching for examples using the following in google. (There are others besides codeproject of course but finding actual examples can be more difficult.)
jdbc site:codeproject.com
Why forget those specific ones? First because they probably are not as relevant now as the once were. There is some concepts there to learn but I suspect there is too much that isn't relevant. Second anything that accesses the database in java, no matter what sort of pretty facades they wrap it in, must still use jdbc. So learning that is always useful. Third jdbc matches your skill set in that it basically just SQL in java.
|
|
|
|
|
|
Thank you for the answer!
I will look into it
modified 28-Oct-22 21:01pm.
|
|
|
|
|
we have a vending machine project and we need a help today
In this project, you will design a vending machine that will accept at least two different coins (5 kr, 10 kr, 25 kr, 50 kr, 1 tl) and will output at least 2 products. For example, one group can choose 5 kr and 10 kr, and dispense 2 different products while another group might decide to use all the coins, (5 kr, 10 kr, 25 kr, 50 kr, and 1 tl) and dispense 3 or 5 different products. Groups are free to determine the count, the name and price of each product in their projects. For example, you can choose gum (20 kr), soda (35 kr), and chocolate (65 kr).
|
|
|
|
|
As you were told when you posted this in QA[^], we are not here to do your homework for you.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Guys, I am looking for a Design & | Architectural suggestion for my Application which should work for different types of clients: (Thin Client(Browser), Thick Client(WPF), mobile application) and DataBase can extend to Cloud in future
Proposed:
MVC Pattern, Client-Server architecture
Presentation Layer: HTML5 or WPF?
Business Layer: C#.Net, WCF Services
Data Layer: LINQ, ADO.Net
Database: ?
I need a suggestion on two things
1) Is WPF suitable for all 3 client types? is it easy to make WPF to Web client through xamarine or cardova or any other software alike. if yes pls suggest
2) Which Database service would be suitable for my future extensions to Cloud. And currently which Database can be taken, I will get some simple text data(Unstructured) as input and should process and display as structured in graphical chart way.
Thanks in Advance
|
|
|
|
|
You already posted this in the thread below.
If you want to update your question, edit the message. DO NOT post the update as a new message.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Guys, I am looking for a Design & | Architectural suggestion for my Application which should work for different types of clients: (Thin Client(Browser), Thick Client(WPF), mobile application) and DataBase can extend to Cloud in future
Proposed:
MVC Pattern, Client-Server architecture
Presentation Layer: HTML5 or WPF?
Business Layer: C#.Net, WCF Services
Data Layer: LINQ, ADO.Net
Database: ?
I need a suggestion on two things
1) Is WPF suitable for all 3 client types? is it easy to make WPF to Web client through xamarine or cardova or any other software alike. if yes pls suggest
2) Which Database service would be suitable for my future extensions to Cloud. And currently which Database can be taken, I will get some simple text data(Unstructured) as input and should process and display as structured in graphical chart way.
Thanks in Advance
MYE
|
|
|
|
|
WPF is not going to meet you requirements.
If you need a web UI then forget having a desktop version, there will be little benefit to the user between WPF and a browser solution (and I'm a WPF developer).
Your service should probably be Web API and no WCF.
Depending on your requirements there are lots of good databases to pick from. If it is purely data the a relational database like SQL Server, MariaDB or MySQL will meet your requirements.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|