Tag Info

Hot answers tagged

44

Relying on an installed JRE to be correct doesn't make sense outside of a controlled corporate environment where all the desktops are locked to a specific version. In which case, you should ask this question of the person who controls that environment. For a mass-market Java desktop application, you should use an installer or launcher that bundles the JRE ...


29

There are many ways to do this, but I prefer to keep a message-based system as decoupled as possible. This means the overall system cannot read the state of any component, nor any component read the state of any other (as that way lies spaghetti ties of dependancies). So, while the running system will look after itself, we need a way to tell each component ...


23

Turing machines and similar "machines" are models of computation, they are intended to investigate problems such as: What can be computed The complexity class of problems Relations among complexity classes The equivalence of various ways to compute something For that purpose, the machine itself must be as simple as possible. Programmer convenience or ...


20

Algorithms are the series of steps taken to solve a particular problem. The recipe for solving the problem, if you will. "Programs" do the same things, of course; we use "algorithm" to suggest the "generalized" or "generally applicable" recipes that are independent of specific machine designs, programming languages, and such. Algorithms are meant to be ...


20

The biggest reason against two applications is that you are very likely to have to implement user rights anyway. Presumably you aren't going to allow an advisor to enter notes about students he doesn't advise, or delete important information without uber-admin privilege, or edit information about advisors other than themselves? Once you have this mechanism ...


15

Others on the team think that it should be two completely separate applications because of the complexity of modifying the views based on the authorization level of the user. Really? they don't realise they have to create these views anyway if they made 2 separate applications? How hard is it to put both views into the same application and decide ...


12

Algorithms are independent of computer architecture. That's because algorithms define a series of processes that solves a problem. Regardless of architectures, sorting algorithms will always sort. It wouldn't suddenly render 3D drawings on some architectures. If you think about it, this is actually intuitive. Google Chrome (which is merely a collection of ...


11

Java 6 is unsupported by Oracle, so don't use that. Java 7's support ends on April 15th, so you know. Just use Java 8 and save yourself the hassle. See Oracle's support roadmap for more info.


9

Lots of machine architectures have memory-memory instructions. The IBM System/360 and its successors have a whole set of instructions that operate on two locations in memory (the Storage Storage (SS) group). "Move Character" (MVC) instruction copies up to 256 bytes from one memory location to another, and even has a clear definition for when the source and ...


8

Memory chips do not have a mechanism for transferring data directly from one memory location to another. Hence, the processor must read the data from memory, and then write it to the new location. In computer systems having DMA controllers, it is possible to perform memory transfers without involving the CPU. There are potential complications, such as ...


7

The short answer is they aren't related as reciprocals. Assume you have a very boring CPU with one instruction that takes 1 ns to complete. Therefore your latency is 1 ns, and your bandwidth is 1 instruction per ns. Say you add a pipeline stage to split that instruction into fetch and execute phases. Each of those stages might be able to complete in 0.5 ...


6

As Stephen suggested in his comment, you could use the observer Pattern to connect the different parts of your application. However, this is a rather static approach, and you will have to implement interfaces everywhere and the dependencies are still strong. Since this is a game, your structure, logic and gameplay might will change over time. I'd ...


6

Clearly those for 2-apps solution may lack experience. Just imagine 'adding this one more field' made twice. Most MVC frameworks allow you to create separate routings for separate users (think of example.com/admin, example.com/student, example.com/professor). This of course makes a separate views, but (important!) you can extract common parts (RoR calls ...


5

Level 0 is the digital logic level, or basically all of the circuitry. Operations are on-off switches, data types are boolean values and numbers. Features are logic gates, clocks, traces, semiconductor wafers, and so forth. The machine language is simple binary. Level 1 is the Micro-Architecture level. If you look at a micro photograph of the die in an ...


4

The main relationship is that you can simulate the theoretical construct in the physical one. The fact that the physical one is capable of all things the theoretical one is gives rise to the ability for theoretical testing and analysis of the theoretical machine to be recognized as implementable in the real world. The halting problem is a perfect example ...


4

Algorithms doesn't depend on computer architecture, however the efficiency of running any particular algorithm does depend on the architecture. Any Turing Complete machines can emulate any other Turing Complete machines, although some machines would be better at one thing than others. What we mean by concurrent algorithms is that the algorithm plays well ...


4

"It seems like parallel algorithms depend on parallel architectures?" In my opinion the answer is simply: no. General I only get the properties parallelism word size (implicit resource limits) when thinking of hardware architecture. Referring to parallelism you can have any parallel algorithm be batch computed and any parallel arch to work serial ...


4

The real issue in this case is long-term maintainability of two separate codebases vs. a single codebase. Convincing people who do not understand the problem requires persuasion. Does your school have a computer science department? How about a business school or management department? Some internal support from an instructor would be good. In short, the ...


4

It looks like you borrowed some vocabulary from theoretical computer science (regarding the words "set" and "language"), and tried to use that to interpret the textbook description of the lower level computer systems (CPU and hardware). The word "set" as in "instruction set architecture" refers to the set of predefined opcodes that are valid for the given ...


3

Ask yourself whether it makes sense for a consumer of a library to use one part of it without using another one. Let's say you've developed a library which parses LESS files, processes LESS files into non-minified CSS files and minifies CSS files. Does it make sense to have a library which does just the parsing? For general use, not really. But it makes ...


3

In theory, algorithms are entirely independent of architecture. You can always emulate a parallel architecture on a single-issue timesliced system. You can reason about algorithms without an architecture at all. Knuth's book uses a fictional architecture. In practice there are algorithms that attempt to achieve better runtime for the same "O" complexity by ...


3

Yes and no. It depends on the constraints you want to meet and the preconditions needed to run your algorithm. Ideally, an algorithm is an abstract recipe that defines step-by-step how to do something. Algorithms was defined like so with the goal of reproducibility, and later automatization. Algorithms originates from lambda-calcul, so you can easily see ...


3

Without reading the text, I would say that It probably refers to pipelining, that is, parallel (or semi-parallel) execution of instructions. That's the only scenario I can think of where it does not really matter how long something takes, as long as you can have enough of them running in parallel. So, the CPU may fetch one instruction, (step 1 in the table ...


3

The difference between those choices are in the affinity of task assignments to threads. As I explain in an earlier question, it is entirely your choice to implement this affinity or not. There are ways to implement multithreading without the affinity of tasks to threads. Producer-Consumer pattern is suitable if: The dataflow pipeline is linear - no ...


2

You can have an initialize event which sets states appropriately upon load/startup. This can be desirable for simple systems or programs not including multiple hardware pieces, however for more complicated systems with multiple physical components as you run the same risk as not initializing at all - if a "brake on" event is missed or lost along your ...


2

I have actually written a large scale game gui that implements (among many other things) precisely those actions that you are talking about. The way it worked is that the gui was completely separated from the game logic, so you could, in theory, play the game without the gui, or instantiate two guis on the same gamelogic. Nobody ever tried that, but it was ...


2

You shouldn't confuse an algorithm in general with mathematical or computing algorithms. If you mean computing algorithms, yes, they are independent from the machine architecture. Definition of algorithm from Wikipedia: In mathematics and computer science, an algorithm is a self-contained step-by-step set of operations to be performed. Algorithms exist ...


2

I think that at the very least, they should tell you what are the minimal functions of each component. For instance, (I have no clue of car mechanics, so bear with the example), a pump might need to provide the following set of functions: CurrentPressure, MaximumOperatingPressure, MinimumOperatingPressure. Assuming that all of the components can provide you ...


2

I would start by looking at existing standards in this area, like ARINC 653 and (especially) AUTOSAR. Both of those are real-time component-based systems where components communicate by passing messages. That's more complex, but ultimately far more flexible, that the straightforward approach of using the modularity features of a specific programming ...


2

I think they've asked you to do the impossible. We do something similar in our shop with industrial automation. We frequently purchase mechanical presses and we retrofit them with our own control system. We try very hard to make the user interface similar across all the presses, but internally they are sometimes similar and sometimes very different. One ...



Only top voted, non community-wiki answers of a minimum length are eligible